1.java的语法格式
任何一种语言都有自己的语法规则,java也一样:
- 代码都定义在类中,类由class来定义,区分public class 和 class;一个java文件最多只有一个public class,可以存在多个class
- 代码严格区分大小写,如Main和main是不一样的
- java中的标示符与关键字
- 注释
2.main方法的作用
- 程序的入口
- 被jvm调用
- 保证程序的独立运行
3.java中的注释
-
单行注释 //:
//后到本行结束的所有字符会被编译器忽略; -
多行注释 /* /:
/ */之间的所有字符会被编译器忽略 -
文档注释 /** /:
在/* */之间的所有字符会被编译器忽略,java特有的(用于生成文档);
注意:多行和文档注释都不能嵌套使用
4.java语言的分隔符
- 分号 ;
语句的分割,表示一句话结束 - 花括号{ }
表示一个代码块,是一个整体,花括号要一起用 - 方括号[ ]
定义数组和访问数组元素时使用 - 圆括号( )
使用广泛 - 圆点 .
类/对象 访问它的成员(字段,方法)时使用 - 空格
分割一条语句的不同部分,空格的次数不限制
5.java的标识符
可简单理解为在java程序中为了增强阅读性的自定义的名称。比如:类名,方法名,变量名
命名规则:
- 由字母、数字、下划线、$组成,不能以数字开头。此处的字母可以是中文、日文等(不推荐)
- 大小写敏感
- 不能使用java中的关键字和保留字
为什么要定义变量:
6.java中的关键字
7.java中的常量
常量:程序运行期间中固定不变化的值。
比如:整数1,2,3。小数3.14。false,true等
8.java中的变量
- 为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用;可以节省资源;
- 变量的概念:
- 占据着内存的某一个存储区域;
- 该区域有自己的名称(变量名)和类型(数据类型);
- 该区域的数据可以在同一类型范围内不断变化;
- 定义变量的格式: 数据类型 变量名 = 初始化值;
- 使用变量的注意:变量的作用范围,初始值;
- 作用范围:定义开始到定义它的代码块结束;同一范围内,不允许多个局部变量命名冲突。
9.java成员变量和局部变量
- 局部变量:不是声明在类体括号里面的变量;
- 局部变量使用前必须初始化值
- 局部变量没有默认值
- 局部变量的作用范围是从定义开始到定义它的代码块结束
- 成员变量:在方法体外,类体内声明的变量,又称字段或全局变量
- 成员变量的作用范围是整个类中;
- 成员变量有默认初始值
10.java的数据类型
-
基本数据类型:数值型(int byte short long float double)、字符型(char)、布尔型(boolean)
-
引用数据类型:类、枚举、注解、接口、数组
-
java基本数据类型的取值范围
4.布尔类型 boolean
* boolean类型通常用于逻辑运算和程序流程控制
* boolean类型数据只有取值true或者false
boolean flag;
flag = true;
System.out.println("flag "+flag);
- char字符类型
- char型数据用来表示通常意义上得“字符”
- char占2个字节,取值范围是[0,65535],但是前256个表示特殊字符
- 字符常量为用单引号括起来的单个字符,例如:
char c = 'A';
char c2 = '哥';
char c3 = 97;
* java字符采用Unicode编码,可用十六进制编码表示:
char c4 = 'u0067';
* u为转义字符:un换行符、ut制表符、ur回车符、u"双引号、uu反斜杠、u'单引号
6.整数类型(byte、short、int、long)
* java语言整型常量的四种表示形式:
1. 二进制整数,0b或0B开头,如:int flag = 0b1010;
2. 十进制整数,如:int flag = 1;
3. 八进制整数,要求以0开头;int flag = 011;
4. 十六进制整数 ,要求以0x或者0X开头;int flag = 0x1240;
* java语言的整型常量默认是int型,声明long变量后加上'l' 或‘L’;如 long flag = 1001L;
7. 浮点类型(float、double)
* java浮点类型常量有两种表示方式:
1. 十进制形式:例如:3.14,168.0,.618;
2. 科学计数法形式:例如:3.14e2,3.14E2,1000E-2;
* java浮点型常量默认是double,声明一个常量为float型则需在常量后加上f 如:float p = 3.14f;
* java里只有浮点型的变量才可以接受科学计算式结果
8. 最常用的引用数据类型(String)
* String是一个类,表示字符串,由多个字符连接在一起。
* 字符串都使用“ ”括起来,连接字符串使用+
String str1 = "string1";
String str2 = "string2";
System.out.println(str1+str2);
9.自动类型转换
* boolean 类型是不可以转换为其他基本数据类型
* 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容量小的类型可自动转换为容量大的数据类型;byte,short,char -> int -> long -> float -> double
* byte,short,char之间不会相互转换。他们计算时首先会转化为int类型
int i = 123;
long l = i;
float f = 3.14F;
double d = f;
10.强制类型转换
* 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度的降低或溢出,使用时要格外注意
* 有很多种类型的数据混合运算时,系统首先自动的将所有数据转换成容器最大的哪一种数据类型,再计算。
* 浮点型:默认是double
* 整型:默认是 int
long l = 123L;
int i = (int) l;
double d = 3.14;
float f = (float) d;
表达式的数据类型自动提升
* 所有的byte型、short型和char的值将被提升到int型。
* 如果一个操作数是long型,计算结果就是long型;
* 如果一个操作数是float型,计算结果就是float型;
* 如果一个操作数是double型,计算结果就是double型。
11.java运算符
运算符是一种符号,用于表达式中,分以下:
* 算术运算符
* 赋值运算符
思考:short s = 3; s = s + 2;与s += 2;有什么不同?
* 比较运算符
* 逻辑运算符
逻辑运算符用于连接布尔型表达式。
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
“ ^ ”与“|”不同之处是:当左右都为true时,"^"结果为false。
* 表达式
1. 是由数字、运算符、数字分组符号(括号)等以能求得数值的有意义排列的序列
* a + b
* 3.14 + a
* (x + y) * z + 100
* boolean b= i < 10 && (i%10 != 0)
2. 表达式的类型和值:
* 对表达式中操作数进行运算得到的结果是表达式的值。
* 表达式值的数据类型即为表达式的类型。
3. 表达式的运算顺序:
* 应按照运算符的优先级从高到低的顺序进行;
* 优先级相同的运算符按照事先约定的结合方向进行;
* java运算的优先级
* 三目运算符
1. “三目运算符”,语法格式:x ? y : z;
2. 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算符的结果是表达式y的值,否则就是z的值。
int score = 70; int x = 6; int y = 5;
String type = score < 60 ? "不及格" : "及格";
int max = x > y ? x : y;
System.out.println("type= " + type);
System.out.println("max= " + max);
* 位运算符
按位与&:如果位数全为1,则结果为1,否则为0
按位或| :如果位数有1,则结果为1,否则为0
异或^ :如果位数不相同,则结果为1,否则为0