Java基础入门知识

这篇具有很好参考价值的文章主要介绍了Java基础入门知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下是学习java必备的知识

目录

前言

一、Java入门

二、基本数据类型与数组

标识符与关键字

2. 基本数据类型

3. 类型转换运算

4. 运算符

5. 数组

6.控制结构(与c使用一致)

总结



前言

Java语言是面向对象编程语言,编写的软件与平台无关。具有语法简单、面向对象、稳定、与平台无关、多线程、动态等特点。

Java的诞生:1990年Sun公司由James Gosling(Java之父)领导的开发小组精心研究和努力促进了Java的诞生。

提示:java的基础语法与C语言大部分相同。

例如:c语言的运算符在java中完全一样。


一、Java入门

1.主体框架

c语言:引入一个头文件,main函数

#include <stdio.h>
int main()
{
    printf("hello world");
    return 0;
}

java:一个public的类(类名必须与文件名一致),main方法

public class Main{
    public static void main(String[] args){

        System.out.println("hello, world");
    }
}

注:java里面说的方法和c语言中的函数是一个意思。 

2、 输入输出数据

c语言:

#include <stdio.h>//头文件
int main()
{
    int n;//声明一个变量
    scanf("%d",&n);//输入
    printf("n = %d\n",n);//输出
    return 0;
}

java:

import java.util.Scanner;//引入一个Scanner的包

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//创建一个Scanner对象
        int n=scanner.nextInt();//输入
        System.out.println("n = "+n);//输出
    }
}

输入基本型数据

scanner对象调用不同方法读取用户输入的各种基本数据类型:

nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、nextDouble()

上述方法执行时都会阻塞,程序等待用户在命令行中输入数据并回车确定。

输出型数据

System.out.println()或 System.out.print()可输出串值、表达式的值,区别在于前者输出数据后换行,后者不换行。在Java中允许使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置一起输出。

System.out.printf()【类似于C语言的printf()函数】输出数据。

3、注释:(与C相同)单行注释使用“//”,多行注释用“/**/”

4、编码风格

Allmans风格(独行风格):即左、右大括号各自独占一行。

Kernighan风格(行尾风格):即左大括号在上一行的行尾,右大括号独占一格。

二、基本数据类型与数组

标识符与关键字

1、数字不可以开头,不可以使用关键字(delete/new等)、保留字(operator、const等),区分大小写,不能包含空格

2、包名:均大写;

类名、接口名:单词首字母大写;

3、变量名、方法名:第一个单词首字母小写,其他单词首字母大写

4、常量名:所有字母都大写,多单词用“_"

2. 基本数据类型

Java中有八种基本数据类型:

逻辑类型:boolean(常量:true、false)

整数类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(以后缀L表示,8个字节)

字符类型:char(char型变量的取值范围是0~65535,2个字节)

浮点类型:float(单精度浮点型、以后缀F或f表示,4个字节)、double(双精度,以后缀D或d表示,8个字节)

3. 类型转换运算

基本数据类型的级别(从低到高):byte 、char、short(平级)=> int  =>  long =>float =>double

1. 把级别低的变量赋给级别高的变量时,系统自动完成数据类型的转换。(自动类型转换)

1)表达式的结构的类型自动提升为操作数中最大的类型

2)boolean不参与转换

3)byte/short/char三者可以计算,但是有先转换为int类型,不会自动转换 

例如:float  x = 100;//100是int整型,赋给浮点型float

2. 把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算。格式:(类型名)要转换的值;(强制类型转换)

例如:int x = (int)34.89;//34.89是float整型,赋给整型int

4. 运算符

算术运算符(+-*/%)、关系运算符(>.<.>=.<=.==)、逻辑运算符【短路与&&,短路或||,取反!;逻辑与&,逻辑或|,逻辑异或^】、赋值运算符【从右往左,左边只能是变量,复合赋值a+=b->a=a+b、三元运算符[条件表达式?表达式1:表达式2]              【与c语言用法相同】

算术混合运算的精度(从低到高的排序):byte ->  short -> char -> int -> long -> float -> double

instanceof运算符:二目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false。

位运算

原码、反码、补码;

负数:补码=反码+1;反码=原码符号位不变,其他位取反;

正数和0原、反、补都一样

  • 位运算符
    • 按位与&:有0则0
    • 按位或 |:有1则1
    • 按位异或^:相同为0
    • 按位取反~:0为1,1为0
    • 算术右移>>:低位溢出,符号位不变,符号位补溢出位(即 /2)
    • 算术左移<<:符号位不变,低位补0(即*2)
    • 逻辑右移>>>:无符号右移:低位溢出,高位补0
  • 进制转换

    二进制:以0b或0B开头

    八进制:以0开头

    十六进制:以0x或0X开头

    进制转换

    二、八、十六进制转换成十进制

    从最低位(右边),将每个位上的数提取出来,乘以2的(位数-1)次,然后求和,

    十进制转换成二、八、十六进制

    将该数不断除以2/8/16,直到商为0为止,然后将每步得到的余数倒过来,将是对应的二、八、十六进制。

    二进制转成八(十六)进制

    从最低位开始,将二进制数每三(四)位一组,转成对应的八(十六)进制即可

    八(十六)进制转成二进制

5. 数组

一种数据类型(引用类型)

1、动态初始化:数据类型[] 数组名=new 数据类型[大小];int[] a=new int[10];

数组的引用:数组名[下标/索引]

2、动态初始化:

先声明数组:语法:数据类型 数组名[];int a[]; 或数据类型[] 数组名;int[] b;

再创建数组:语法:数组名=new 数据类型[大小];a=new int[10];

3、静态初始化:数据类型 数组名[]={元素值,元素值,元素值……};int a={1,2,3…};

  • 数组细节

    1、数组是多个相同类型数据的组合,实现对这些数据的统一管理 2、数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用 3、数组创建后,如果没有赋值,默认int 0,short 0,byte 0,long 0,float 0.0,char\u0000,boolean false,String null 4、使用数组的步骤:1、声明数组并开辟空间,2、给数组各个元素赋值3、使用数组 5、数组的下标是从0开始的 6、数组下标必须在指定范围内使用,否则报:下标越界异常,比如:int []arr=new int[5];则有效下标在0-4 7、数组属引用类型,数组型数据是对象(object)

    8、数组扩容或者缩减都需要创建一个临时数组,复制原数组的内容,再将原数组的数组名指向临时数组

  • 二维数组

    1、动态初始化:

    1)int arr[][]=new int[2][3];

    2)声明二维数组:int arr2[][];再开空间:arr2=new int [2][3];

    3)int[][]str=new int[3][];

    for(int i=0;i<str.length;i++){

    str[i]=new int[i+1];//给每个一维数组开空间

    for(int j=0;j<str[i].length;j++){

    str[i][j]=i+1;//赋值

    }

    }

    2、静态初始化:类型 数组名[][]={{值1……},{值2……},……};

    3、二维数组的声明方式:int[][]y或者int[]y[];或者int y[][];

    int[]x,y[]; x是int类型的一维数组,y是int类型的二维数组

6.控制结构(与c使用一致)

  • if条件分支语句
    /*if语句*/
    if(语句){//语句的表达式必须是boolean类型
        若干语句;
    }
    
    
    /*if-else 语句*/
    if(表达式){
        若干语句;
    }else{
        若干语句;
    }
    
    
    /*if-else if-else语句*/
    if(表达式){
        若干语句;
    }else if{
        若干语句;
    }
    ……
    else{
        若干语句;
    }
  • 分支控制
    switch(表达式)
    {
        case 常量值1:
                若干语句;
                break;
        case 常量值2:
                若干语句;
                break;
        ……
        case 常量值n:
                若干语句;
                break;
        default:
                若干语句;
               
    }

    switch语句中,“表达式”的值可以为byte、short、int、char和String类型

  • 循环控制
    /*for循环语句*/
    for(表达式1;表达式2;表达式3){
        若干语句
    }
    
    /*while循环语句*/
    while(表达式){
        若干语句
    }
    
    /*do-while循环语句*/
    do{
        若干语句
    }while();
  • break与continue:break结束整个循环语句;continue结束本次循环,不再执行本次循环中continue后面的语句,而转入下一次循环。
  • for语句与数组

    for(声明循环变量:数组的名字){
        ……
    }

    注:1)声明的循环变量的类型必须和数组的类型相同。2)for(声明循环变量:数组的名字)中的“声明循环变量”必须是变量声明,不可以使用以声明过的变量。


总结

以上就是今天要讲的内容,本文仅仅介绍了Java的入门必备的知识,包含了数据类型、运算符、数组和语句结构文章来源地址https://www.toymoban.com/news/detail-594746.html

到了这里,关于Java基础入门知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)

    Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。          以下是几个面试技巧:    1. 复习核心概念: 回顾 Java 的核心概念,如面向对象编

    2024年01月18日
    浏览(54)
  • Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)

    准备这些面试题时,请考虑如下准备步骤: 理解问题并澄清任何可能的疑点。确保你了解了面试官的期望,包括问题限制条件和期望的解决方案。 如果可能且适用的话,尝试先给出一个简单的解决方案,比如暴力法,然后再逐步优化它。 在优化之前,先分析暴力解法的效率

    2024年01月18日
    浏览(63)
  • Java面向对象程序开发——网络编程入门知识

    ​ C/S结构 :client/sever是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :browser/sever是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 Web应用系统开发的两种流行架构 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一

    2024年02月12日
    浏览(49)
  • 【Java】极简的快速入门Struts2知识清单

    目录 简介 MVC示例 Model层 View层 Controller层 配置文件struts.xml 简单开发流程 Struts2 是一个用于开发 Java Web 应用程序的开源 Web 应用程序框架,它是 Struts 框架的升级版。Struts2 提供了更简单、更灵活的方式来构建 Web 应用程序,采用了拦截器(Interceptors)等技术来处理请求,并且

    2024年02月19日
    浏览(36)
  • 学习SpringBoot入门知识,附带教程源码分享,快速掌握开发技巧-【imooc-java2021】体系课-Java工程师 2022版

    以下截图自 Spring Boot 官方文档: 翻译整理一下,内容如下: Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可独立运行的,生产级别的应用程序。 基于 Spring Boot 内部的自动化配置功能,开发者可以在\\\"零\\\"配置, 或者只需要添加很少

    2024年02月06日
    浏览(64)
  • Opengl入门基础-基础知识

    通过之前的教程,我们已经拥有了开发环境,但是在真正开发程序之前,我们首先了解下Opengl的基本概念。 Opengl是什么? 通常网上会说Opengl是一种规范,一种接口,但是这种说法有点抽象,我们不妨先看看下面这个简单的gl流程 代码中可能有人对GLFW_OPENGL_PROFILE这类参数感到

    2024年02月11日
    浏览(45)
  • QT入门基础知识

    什么是QT QT是一个跨平台的C++图像用户界面应用程序框架 QT在1991年由奇趣科技开发 QT的优点 跨平台,几乎支持所有平台 接口简单,容易上手 一定程度上简化了内存回收机制 有很好的社区氛围 可以进行嵌入式开发 QT注意事项 命名规范 类名 首字母大写,单词和单词之间首字母

    2024年02月10日
    浏览(55)
  • 电脑入门基础知识

    答:一般情况下,电脑键盘只有一个。但是,也有一些特殊的情况,例如游戏玩家可能会使用额外的游戏键盘,或者一些专业人士可能会使用多个键盘来提高工作效率。但是在大多数情况下,一台电脑通常只会连接一个键盘。 答:外接键盘和笔记本键盘的按键数可能会有所不

    2024年02月04日
    浏览(63)
  • TCL基础知识入门(一)

    vscode运行TCL效果 1. TCL TCL(tool command language) 是一种 脚本语言 ,基于 字符串的命令 语言, 解释性 语言。(shell 一样) 2. 命令语句 一条脚本由一个或几个单词构成,空格、Tab键隔开。 第一个单词为命令名,后面为参数 。 命令可以 换行 或者**;**隔开, 分号会促使左侧命

    2024年02月03日
    浏览(27)
  • Python基础知识入门(五)

    Python基础知识入门(一) Python基础知识入门(二) Python基础知识入门(三) Python基础知识入门(四)         模块是一个包含所有定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数、变量等功能来完成数据处理。 1.模块导入    

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包