Java 基础语法
注释
//单行注释
//多行注释
/*多行注释
多行注释
*/
//文档注释
/**
*
* ░░░░░░░░░░░░░░░░░░░░░░░░▄░░
* ░░░░░░░░░▐█░░░░░░░░░░░▄▀▒▌░
* ░░░░░░░░▐▀▒█░░░░░░░░▄▀▒▒▒▐
* ░░░░░░░▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐
* ░░░░░▄▄▀▒░▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐
* ░░░▄▀▒▒▒░░░▒▒▒░░░▒▒▒▀██▀▒▌
* ░░▐▒▒▒▄▄▒▒▒▒░░░▒▒▒▒▒▒▒▀▄▒▒
* ░░▌░░▌█▀▒▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐
* ░▐░░░▒▒▒▒▒▒▒▒▌██▀▒▒░░░▒▒▒▀▄
* ░▌░▒▄██▄▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒
* ▀▒▀▐▄█▄█▌▄░▀▒▒░░░░░░░░░░▒▒▒
* 就这样看着你们这群单身狗,一句话也不说(doge
*/
其他有趣的注释https://blog.csdn.net/ydk888888/article/details/81563608
标识符和关键字
标识符
定义:Java 中标识符是为方法、变量或其他用户定义项所定义的名称。
标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下:
- 标识符由数字(09)和字母(AZ 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
- 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。
注:Java区分大小写, 标识符不能与关键字重复,尽量别用中文或拼音
关键字
定义:关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。
- 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
- 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
- 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
- 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
- 保留字:true、false、null、goto、const。
参考http://c.biancheng.net/view/5613.html
数据类型
基本类型
//八大数据类型
//整型
int num1 = 10;
byte num2 = 2;
short num3 = 30;
long num4 = 22L;//Long类型要加L
//小数,浮点数
float num5 = 10.1f;//float类型要加f
double num6 = 3.141592653589793238462643;
//字符
char name ='中';//只能是一个字母、数字、字和符号
//字符串
String namea = "小王"; //String不是关键字,是一个类
//布尔值
boolean flag = true;
boolean flag1 = false;
引用数据类型
类型转换
由高到低:byte,short,char,int,long,float,double
-
强制转换
由低到高
-
自动转换
由高到低
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
由高到低可能存在内存溢出,或精度问题
-
JDK7以上数字直接可以用下划线分割。例:
long money = 10_0000_0000
自动转换
整数拓展
进制 二进制0b 八进制0 十进制 十六进制0x
int i = 0b10;
int i2 = 10;
int i3 = 010;
int i4 = 0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
浮点数拓展
银行业务如何表示?
如果使用float和double?
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f);
System.out.println(d);
System.out.println(f==d);//false
float f1 = 1212135456121555f;
float f2 = f1+1;
System.out.println(f1==f2);//true
debug结果
浮点数是有限的,离散的。存在四舍五入误差。尽量不要用浮点数计算钱数
字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
输出结果
所有字符的本质是数字
#Unicode编码表:(97 = a 65=A) 范围0 ~ 65536(U0000 ~ UFFFF)
转义字符
转义符 | 意义 |
---|---|
\r | 回车 |
\n | 换行 |
\t | 水平制表(跳到下一个TAB位置) |
\v | 垂直制表 |
\\ | 反斜线\ |
\' | 单引号 |
\" | 双引号 |
参考https://blog.csdn.net/weixin_44560940/article/details/95488167
布尔值拓展
if (flag==true){}
if (flag){}//和上面意思一样