Java程序的基本规则
- java的类(文件)是java程序的最小单位,代码写在java类文件里面,一个java项目往往包含若干个类文件
- java类的文件名要跟类名一致,并且类名首字母要大写,使用驼峰命名法(HelloVito),拓展名是.java
- mai方法是java程序运行的入口,main方法的名称、参数、修饰符都是固定的
- 每行语句结束为符号为分号
- 方法名、变量名、属性名都是以小写字母开头,为了与类区分,也是使用这种驼峰命名方式
Java程序的组成成份
分隔符号
- ; 分号。语句结束的标志
- {} 大括号。成对出现,用在类、方法、判断和循环语句。把多条语句作为一个整体(代码块)
- () 小括号。用于方法定义和调用,以及运算表达式的优先级
- [] 中括号。用于数组,通常在数组的名字之后出现
- . 圆点。用于对象的属性或者方法的调用
- “” 双引号。用于字符串
- “ 单引号。用于字符
- 空格。用于分割标识符以及关键字
标识符
标识符就是类、方法、属性、变量的名称。
命名规则:
- 必须以字母、下划线、美元符号开头
- 除首字母之外可以用字母和数字以及下划线或者美元符号
- 不能跟关键字重名
- 区分大小写
- 不建议使用中文
关键字
java中一些表示特定意义的单词叫做关键字,java的关键字有如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2o0G6Ve2-1658401984804)(C:\Users\19638\AppData\Roaming\Typora\typora-user-images\image-20220721103418151.png)]
注释
注释是代码中用于帮助程序员理解或者记忆代码的内容;暂时不用的代码也可以注释掉
注意 :注释的内容会被编译器忽略
单行注释
以//开头,一般用于单个语句的注释
快捷键Ctrl+/
多行注释
以/*开头 */结束
快捷键Ctrl+Shift+/
文档注释
可以导出为API文档
以/** 开头 以 */结束 用于类
输入方式/**,然后回车
JDK API文档地址
官方:https://docs.oracle.com/javase/8/docs/api/
中文:https://tool.oschina.net/apidocs/apidoc?api=jdk-zh
-
IDEA导出文档注释为API文档
-
创建一个目录存放API文档
-
在菜单栏找到工具tools栏导出为文档(Generrate JavaDoc)
-
设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R6YVSj0K-1658401984805)(C:\Users\19638\AppData\Roaming\Typora\typora-user-images\image-20220721113657237.png)]
-
点击ok导出
-
变量
方便访问内存中的数据而起的一个程序员容易记忆和理解的名字
定义变量
语法:类型 变量名;
类型 变量名 = 初始化的值;
类型 变量名,变量名;
String stName = "张三"
int stuAge = 22
int j;
j - 10;
int a=1,b=4;
变量初始化
可以在定义变量的时候初始化,也可以先定义再初始化
变量的赋值和使用
System.out.println(i+j)
注意
- 同一个作用域不能重复定义变量
例如int i =4;
int i =5;
- 变量前在使用前必须要初始化(赋值)
练习:判断一下变量的命名是否合法
int 123;//变量不能数字开头
int _123;//正确 下划线开头
int $abc;//正确 美元符号开头
int _$;//正确 不推荐 无意义
int _;//正确 不推荐 无意义
int $;//正确 不推荐 无意义
int 九龙坡;//正确 不规范
int _#&;//错误不能包含特殊字符
int StuName;//正确 但不符合命名规范 开头应该小写
int stuname;//正确 不符合命名规范 应该是stuName
Java的基本数据类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2WJUYTgG-1658401984805)(C:\Users\19638\AppData\Roaming\Typora\typora-user-images\image-20220721151537467.png)]
整形
-
byte
一个字节长度,取值范围-27 ~ 27-1 (-128~127)
byte a1 = 10; System.out.println(a1); // byte a2=128;超出范围 // byte a3=-129;超出范围
-
short
占两个字节长度,取值范围-215 ~ 215-1 (-32768 ~ 32767)
short b1 = -100; System.out.println(b1); // short b2 = -32769;超出范围 // short b3 = 32768;超出范围
-
int
占四个字节长度,取值范围-231 ~ 231, (-2147483648 ~ 2147483647)
-
long
占八个字节,取值范围-263 ~ 263-1
注意:给long数据类型赋值的时候最好在数字后面加l(超出int范围必须加)
long c1 = 100; System.out.println(c1); long c2 = -9986545845484545L;//超出int的范围需要在后面加l
注意:给整数复制可以用十进制、八进制、十六进制
int n = 100;//十进制
System.out.println(n);
n = 0144;//八进制
System.out.println(n);
n = 0x64;//十六进制
System.out.println(n);
浮点型(小数)
- float
占四个字节
float d1 =3.1f;//java里面直接写一个小数,默认为double
System.out.println(d1);
float d2 =2.5f;
System.out.println(d1 * d2);
- double
占8个字节
double e1 = 3.1415;
System.out.println(e1);
注意:java里的浮点数运算可能会损失精度(结果不精确),在实际项目中如果用到小数的运算(比如说财务系统),建议用BigDecimal类
字符类型(char)
- 字符的表达方式
- 字符用单引号括起来
- 用unicode编码,格式’\uxxxx’ 。 中文汉子在unicode中的范围4E00 ~ 9FA5
- 用转义符表示特殊字符
\" | 双引号 |
---|---|
\’ | 单引号 |
\n | 换行 |
\r | 回车 |
\t | 制表符 |
\ | 反斜杠 |
char f1 = 'a';
System.out.println(f1);
char f2 = '中';//因为是用的unicode,所以说能表示任何语言的字符
System.out.println(f2);
char f3 = '\u4E01';
System.out.println(f3);
System.out.println("某某某:\"\".");
System.out.println("\n");//换行
System.out.println("\r");//回车
System.out.println("\t");//制表符(tab键空出来的位置,4个空格)
System.out.println("\'");//单引号
System.out.println("\\");//反斜杠
- 用数字来表示字符
char a = 97;//常见的英文字符都对应的一个数字编码,所以可以用数字给char的类型赋值
System.out.println(a);
ascii码表规定每个字符对应的数字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jPF0OSp6-1658401984806)(C:\Users\19638\AppData\Roaming\Typora\typora-user-images\image-20220721165650303.png)]
布尔类型(Boolean)
占1位长度,只有两种值: true 和 false,不能用数字给Boolearn类型赋值。
布尔类型一般用于判断或循环语句判断条件0
boolean i1 = true;
boolean i2 = false;
System.out.println(i1);
System.out.println(i2);
基本类型的相互转换
自动转换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PPAvJjdD-1658401984806)(C:\Users\19638\AppData\Roaming\Typora\typora-user-images\image-20220721171952377.png)]
- char不能自动转为short
- byte不能自动转为char
- 任何的基本类型都可以跟字符串进行拼接
byte by1 = 10;
short s1 = by1;//by1自动转换为short,赋诶s1变量
int i1 = s1;//自动转换short为int
System.out.println(i1);
char c1= 'a';
i1 = c1;//自动转换char为int
System.out.println(i1);
long l1 = i1;//自动转换int为long
System.out.println(l1);
float f1 = l1;//自动转换long为float
System.out.println(f1);
double d1 = f1;//自动转换float为double
System.out.println(d1);
强制转换
- 长度大的数据类型转小的类型不能自动转换,要用强制转换
- 小数转整数,会去掉小数
- 如果强制转换超过类型所能表示的范围,可能会出现不可预知的结果
double d2 = 3.14;
float f2 = (float) d2;//变量前加一对小括号,小括号里面的是一个类型,这种叫做强制类型转换
System.out.println(f2);
long l2 = (long) f2;//浮点数强制转换为整数时,会直接去掉小数部分保留整数部分
System.out.println(l2);
int i2 = (int)l2;
System.out.println(i2);
char c2 = (char)i2;
System.out.println(c2);
short s2=(short)i2;
System.out.println(s2);
byte by2 = (byte)s2;
int i3 = 168;
byte b3 = (byte)i3;
//超过目标类型范围的强制转换需谨慎,可能出现不可预知的结果
System.out.println(b3);//结果为-88
控制台输入内容
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String next = scanner.next();//等待用户从控制台输入一个内容
System.out.println(next);
System.out.println("请输入一个整数:");
int i = scanner.nextInt();
System.out.println(i);
其他
Other command line arguments的参数可以写为: -encoding UTF-8 -charset UTF-8 (如果出现错误javadoc: 错误 - 无效的标记: -utf-8)
作业
- 列出你所知道的java关键字
- java的程序中有哪些注释的方式,分别用于什么场景
- 列出5个错误的变量名
- 从控制台输入一个圆的半径,计算圆的面积并打印结果
(提示:3.14 * r * r)
- 从控制台输入一个人的名字,打印一个欢迎的信息:“您好:张三”
ut.println(“请输入一个整数:”);
int i = scanner.nextInt();
System.out.println(i);
# 其他
Other command line arguments的参数可以写为: -encoding UTF-8 -charset UTF-8 (如果出现错误javadoc: 错误 - 无效的标记: -utf-8)
# 作业
1. 列出你所知道的java关键字
2. java的程序中有哪些注释的方式,分别用于什么场景
3. 列出5个错误的变量名
4. 从控制台输入一个圆的半径,计算圆的面积并打印结果
(提示:3.14 * r * r)
5. 从控制台输入一个人的名字,打印一个欢迎的信息:"您好:张三"
6. 控制台里面输入2个整数,计算两个整数的和,并打印结果