Java基础学习笔记(二)

Java基本语法

Posted by HK on August 1, 2020

Java基础语法

1 java 的基本语法格式

  1. 类名必须和文件名一致

  2. public:访问修饰符

  3. class:定义类的关键字

  4. 类名:首字母大写,不要使用拼音或者中文,驼峰式命名法,每个单词的首字母大写

  5. main方法是java程序的入口,需要执行的代码必须放到main方法里面,后期学了javaee用的不是太多了

  6. java语言严格区分大小写 int a; int A;

  7. Java方法由一条条语句构成,每个语句以“;”结束。

  8. 大括号都是成对出现的,缺一不可。

  9. 一个java文件里面可以定义多个类,但是只能有一个类名的访问修饰权限为public

2 关键字

2.1 关键字的定义和特点

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

java给我们定义一些特殊单词,每个关键字都有自己独有的功能

特点:

  1. 全是小写
  2. 关键字不能当做普通的标识符

2.2 常见关键字

在这里插入图片描述在这里插入图片描述

3 标识符

3.1 定义

自定义的类,方法名,包名,变量名,接口名…这些统称标识符

  1. 字母,数字,下划线 $
  2. 不能以数字开头
  3. 不能是关键字,或者包含特殊字符
  4. 定义方法名和变量名首字母小写,驼峰式命名法,如果定义常量,全部大写

3.2 通用规范

  1. 包名所有字母一律小写。例如:com.hpe.example。 (详细的命名规则见这篇博文Java包的命名规范

  2. 类名和接口名每个单词的首字母都要大写。例如:ArrayList、Iterator。
  3. 常量名所有字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH。
  4. 变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如:lineNumber、getLineNumber。
  5. 在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。

4 变量

4.1 变量的概念

  1. 内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)
  2. 必须先声明,后使用
  3. 该区域的数据可以在同一类型范围内不断变化

4.2 语法格式

    变量类型 变量名 [= 初始值]; 

4.3 分类

  • 按被声明的位置划分:
    • 成员变量:方法外部、类的内部定义的变量
    • 局部变量:方法或语句块内部定义的变量
  • 按所属的数据类型划分:
    • 基本数据类型变量
    • 引用数据类型变量

    在这里插入图片描述

    注意:类外面(类对应的大括号外面)不能有变量的声明

4.3.1 整数类型

整数类型有固定的表示范围和长度,不受具体操作系统的影响,保证Java程序的可移植性

类型 占用存储空间 表数范围
byte 1字节 $-128$~$127$
short 2字节 $-2^{15}$~$2^{15}-1$
int 4字节 $-2^{31}$~$2^{31}-1$
long 8字节 $-2^{63}$~$2^{63}-1$

整数类型常量默认为int型,声明 long 型常量须后加‘l’(小写L) 或‘L’。

4.3.2 浮点类型

浮点类型有固定的表示范围和长度

类型 占用存储空间 表数范围
float 4字节 -3.403E38 ~ 3.403E38
double 8字节 -1.798E308 ~ 1.798E308

浮点型常量默认为 double 型,声明 float 型常量,须后加‘f’ 或 ‘F’。

浮点型常量的两种表示形式:

  • 十进制数形式:如:5.12 512.0f .512 (必须有小数点)
  • 科学计数法形式:如:5.12e2 512E2 100E-2
4.3.3 字符类型

用于存储一个单一字符。

类型 占用存储空间
char 2字节
char c = 'a';  // 为一个char类型的变量赋值字符'a'
char ch = 97; // 为一个char类型的变量赋值整数97,相当于赋值字符
4.3.4 布尔类型

适用于逻辑运算,一般用于程序流程控制。

boolean类型数据只允许取值true和false,不可以0或非0的整数替代true和false

4.3.5 String类型

用于存储一串字符串

4.3.6 变量数据类型举例
public class TestType {
       public static void main(String[ ] args) {
              double score = 99.5;    
              String name = "张三";
              char sex = '男';
    
   	       System.out.println("本次考试成绩最高分: " + score);
	       System.out.println("最高分得主: " + name);
	       System.out.println("性别: " + sex);
       }

4.4 变量的类型转换

根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换。

4.4.1 自动(隐式)类型转换

一个类型取值范围小的数值直接赋给另一个取值范围大的数据类型变量时,自动进行转换,不需要显式地声明。

在这里插入图片描述

  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

  • byte,short,char计算时先转换为int型。

  • 当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型

4.4.2 强制(显式)类型转换

当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,不能自动转换,需要显式地声明。

目标类型 变量名 = (目标类型)值;

注意:将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符(),但可能造成精度降低或溢出。

字符串转换为基本数据类型,需要通过基本类型对应的包装类提供的parseXXX方法。如:

String a = 43; 
int i = Integer.parseInt(");

4.5 变量作用域

变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。

在这里插入图片描述

5 常量

固定不变的特殊变量,有且只能进行一次赋值。

final 常量类型 常量名 [= 初始值];

6 转义字符

6.1 转义符 \

  • 定义:用来转义紧随其后的一个字符。

  • 转义后的字符通常用于表示一个不可见的字符或具有特殊含义的字符,例如“\n”表示换行。

6.2 常见转义字符

  • \r :表示回车,将光标定位到当前行的开头,不会跳到下一行。

  • \n :表示换行,换到下一行的开头。

  • \t :表示制表符,将光标移到下一个制表符的位置,就像在文档中用Tab键一样。

  • \\ :表示反斜杠转义字符,由于在Java代码中的斜杠(\)是转义符,因此需要表示字面意义上的\,就需要使用双斜杠\\。

7 运算符

用于告诉程序执行特定运算或逻辑操作的符号。

7.1 算术运算符

用来处理四则运算的符号。

在这里插入图片描述

  • 在进行自增(++)和自减(–)的运算时,如果运算符(++或–)放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。

  • 在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数;如果除法运算有小数参与,得到的结果会是一个小数

  • 在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。

7.2 赋值运算符

将常量、变量或表达式的值赋给某一个变量。

在这里插入图片描述

  • 在Java中可以通过一条赋值语句对多个变量进行赋值。

  • 在使用+=、-=、*=、/=、%= 赋值运算符时,需要进行的强制类型转换会自动完成,程序不需要做任何显式地声明。

7.3 比较运算符

用来对两个数值或变量进行比较,其结果是布尔类型的true或false

在这里插入图片描述

7.4 逻辑运算符

是用于对布尔类型的值或表达式进行操逻辑判断的符号。其返回值类型是布尔类型

在这里插入图片描述

  • &”和“&&”的区别:在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运算,因此“&&”被称作短路与。

  • 运算符“ ”和“   ”都表示或操作,当运算符任何一边的操作数或表达式为true时,其结果为true,当两边的值都为false时,其结果才为false。同与操作类似,“   ”表示短路或,当运算符“   ”的左边为true时,右边的表达式不会进行运算。
  • 运算符“^”表示异或操作,当运算符两边的布尔值相同时(都为true或都为false),其结果为false。当两边布尔值不相同时,其结果为true。

7.5 条件运算符

也称作三元运算符(或三目运算符),由符号“? :”组合构成。

对布尔类型的表达式判断,如果为true,就执行冒号“:”前面的表达式,否者执行后面的表达式。

(boolean_expr) ? true_statement : false_statement;

7.6 运算符的优先级

在这里插入图片描述