Java书写规范:
1、Java中所有的代码都要写在类的{}当中
2、如果这个类的访问修饰符是public的,那么类名必须和java文件名保持一致;
3、一篇java文件可以书写多个类(通常不这么做),public的只能有一个;
4、编译后的class文件数量与java文件数量无关,只和java文件中定义的类的数量有关。(一个类一个class文件)
main:
main方法书写固定,是整个程序的入口。
1、一个项目当中可以有多个main方法;
2、一个类里面只能有一个main方法;
标识符:
在代码中打上标记帮助识别的符号。
标识符分两类:
1、系统预定义标识符 --- 关键字;
2、 用户自定义标识符
2-1、先人自定义的,后人用;
2-2、本人自定义的
在这段HelloWorld中,我们能够自定义的,只有"类名 Test" 和 "变量名 args"
自定义标识符命名规则:
1、硬规则 -- 不遵守就会编译不通过,只能由数字、字母 、下划线 、$ 组成。
1-1、数字不能开头
1-2、严格区分大小写
1-3、不能与关键字重复
2、潜规则 -- 行规
2-1、见名知意
2-2、类名: AaaaBbbbCccc
2-3、变量名: aaaaBbbbCccc
2-4、常量名: AAAA_BBBB_CCCC
数据类型:
数据类型是非常重要的概念,作用:告知计算机如何存放数据;分配多大的空间
分两类:
1、基本数据类型(固定-4类8种)
2、引用数据类型(目前只需要知道:String -- 字符串)
1、整型(常用的是int和long,int是默认的)
byte:1、 short:2、 int:4、 long:8
System.out.println(1);
int System.out.println(1L); long -- L大小写均可
2、浮点类型(默认是double)
float:4、 double:8
System.out.println(3.14);
double System.out.println(3.14f); float - f大小写均可
3、字符型:char
每个字符都必须用单引号,里面只能有一个字符;
但是"转义字符"例外:
'\n' -- 换行
'\r' -- 回车
'\t' -- 水平制表
'\' -- 代表 \
4、布尔类型(boolean)
空间大小不确定,由JVM根据实际情况划分
只有两个值:true false
5、额外的常用非基本数据类型 --- 字符串(String)
变量和赋值数据类型要匹配
1、类型相同
byte b = 127;
short s = 32767;
int i = 1000000000;
long l = 100000000;
float f = 0.1F;
double d = 0.1F;
char c = 'A';
boolean bool = true;
String name = "HYK";
2、数据类型转换
数据类型大小顺序: byte < short = char < int < long < float < double
布尔类型不参与转换
2-1、小值 放入 大变量 -- 自动类型转换
d = 0.2f;
d = i;
i = c;
2-2、强制类型转换
语法: (被转换类型)数据值
强转后果是精度丢失,注意:不是四舍五入
i = (int)2.5;
f = (float)2.5;
变量本质就是在内存中分配一个空间,然后可以往里面存放数据;且随着程序的运行,该空间的数据值可以变化。
语法: 数据类型 变量名; 变量声明以后需要进行初始化,否则不允许访问和使用它。
原因是新申明的变量,里面的数据值不确定且没有意义。
注意:
1、付给变量的值需要和变量的数据类型匹配;
2、初始值具体是多少依赖于我们程序的需要,不一定是0;
变量的生命周期:
1、生 --- 从变量申明语句被执行的时候开始;
2、死 --- 该变量声明语句所属花括号结束。
常量:
申明的语法: final 数据类型 常量名 = 常量值;
final int AGE = 19;
System.out.println(AGE);
为什么要给常量起名字?
1、把业务含义带入到常量值当中;
2、便于修改
运算符:
算术运算符: + - * / %
+ : 当+号左右两端出现一个字符串的时候,那么它执行的是字符串拼接动作。
%:模,取余 该符号是对左右两个操作数做除法,只不过最终结果不是商而是余数。
特殊:
1、余数正负号,只跟第一个被除数有关;
2、%符号的运算只在整数运算下才有意义;
最重要的:所有的算术运算符号,如果左右两端的运算数数据类型一致,那么结果就是该类型的结果;如果不一致,那么结果就是大的那个数据类型的结果。
赋值运算符:= 把赋值运算符右边的表达式,赋给左边的变量
1、左边只有一个变量
2、要注意左右两边的数据类型:自动类型转换 和 强制类型转换
*变形的赋值运算符(一): += -= = /= %=
b += 5; b = b + 5;
变量 = 变量 + 值; 变量 += 值;
这两句的最终效果是一样的,但是如果出现类型不匹配的情况; 语句一只能我们自己强制类型转换,语句二可以由该表达式帮我们进行类型转换。
b = (int)(b + 3.14);
b += 3.14;
变形的赋值运算符(二): ++ --
又被称之为"自增长","自减小"
前加 ++a 前减 --a
后加 a++ 后减 a--
int num = 10;System.out.println( ++num * 5 );
比较运算符: > < >= <= != ==
比较运算符最终的结果只能是boolean类型true或false
三目运算符: 表达式1 ? 表达式2 : 表达式3
1、表达式1必须是一个布尔表达式;
2、当表达式1为true的时候,用表达式2的结果作为整个三目运算符的结果;当表达式1为false的时候,用表达式3的结果作为整个三目运算符的结果。
Scanner:
通过使用先人提供的Scanner的类,完成控制台输入;
Scanner的使用步骤:
1、产生一个Scanner对象;
2、调用该对象的方法完成输入;
3、关闭Scanner对象
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的名字:");
System.out.println(name);
scan.close();