常见转义字符
-
\t
: 一个制表位,实现对齐的功能 -
\n
: 换行符 -
\\
: 一个\ (要输出一个斜杠\,需要敲两个)\\\\
:(要输出两个\\,需要敲四个) -
\"
: 一个" ;\'
: 一个' -
\r
: 一个回车(不会换行);如下:
System.out.println("星垂平野阔\r月亮");//月亮平野阔
注释(comment)
-
单行注释 :
//注释文字
-
多行注释 :
/*注释文字*/
多行注释不允许嵌套注释 -
文档注释 :注释内容可以被JDK提供的工具Javadoc所解析,生成一套以网页文件形式体现该程序的说明文档,一般写在类
-
ctrl + / 多行注释快捷键,再次输入就取消
Java代码规范
-
类、方法的注释,要以Javadoc的方式来写
-
非Java Doc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等
-
使用tab操作,实现缩进,默认整体向右移动;选中,然后tab,整体右移;用shift+tab整体左移
-
运算符和 = 两边习惯各加一个空格。比如:2 + 4 * 5 + 345 - 89
-
源文件使用utf-8编码
-
行宽度不超过80字符
-
代码编写次行风格(换行输出大括号{)和行尾风格(行尾输出大括号{)
变量
变量是程序的基本组成单位
变量有三个基本要素(类型 + 名称 + 值)
变量的概念
变量相当于内存中一个数据存储空间的表示(可以把变量看作是一个房间的门牌号,通过门牌号可以找到房间),通过变量名可以访问到变量(值)
变量的使用步骤
-
声明变量
int a
; -
赋值
a = 20
; -
使用
System.out.println(a);
输出a也可以一步到位
int b = 100;
变量注意事项
-
变量表示内存中的一个存储区域(不同的变量,类型不同,占用的空间大小不同,比如:int4个字节,double8个字节)
-
该区域有自己的名称[变量名]和类型[数据类型]
-
变量必须先声明,后使用,即有顺序
-
该区域的数据/值可以在同一类型范围内不断变化
-
变量在同一个作用域内不能重名
-
变量=变量名+值+数据类型【三要素】
程序中 +号的使用
-
当左右两边都是数值型时,则做加法运算
-
当左右两边有一方为字符串,则做拼接运算
-
运算顺序是从左到右
数据类型
Java数据类型分为两大类:基本数据类型【8种 整型byte[1]、short[2]、int[4]、long[8];浮点(小数)类型float[4]、double[8];字符型char[2],存放单个字符'a';布尔型boolean[1],存放true,false)】和引用类型【类(class)、接口(interface)、数组([])】
整数类型 ![](https://img-blog.csdnimg.cn/eef5eeb0510f41aaaa46c8f9899ab31c.png)
使用细节
-
Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,以保证Java的可移植性
-
Java的整型常量(具体值)默认为int型,声明long型常量须后加'l'或'L'
-
Java程序中变量常声明为int型,除非不足以表示大数,才使用long
-
bit:计算机中最小的存储单位,byte:计算机中基本存储单元,1byte = 8bit
浮点类型
-
单精度float 4字节
-
双精度double 8字节
浮点数在机器中的存放形式: 浮点数 = 符号位 + 指数位 + 尾数位(位数部分可能会丢失,造成精度损失)
使用细节
-
与整数类型一样,Java浮点类型有固定的范围和字段长度,不受具体OS[操作系统]的影响
-
Java的浮点型常量(具体值)默认为double型,声明float型常量,须后加"f"或"F"
-
浮点类常量有两种表示形式:
(1)十进制数形式:如5.12 、512.0f、 .512(必须有小数点)
(2)科学计数法形式:如5.12e2[5.12*10的2次方]、5.12E-2[5.12/10的2次方]
-
通常情况下,应该使用double型,因为它比float型更精准
-
浮点数使用陷阱: 如 2.7与8.1/3;对运算结果是小数的进行相等判断时,要小心;应该是以两个数的差值的绝对值,在某个精度范围内判断
字符类型
字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String
字符细节
-
字符常量是用单引号括起来的单个字符。e.g. char c1 = 'a'; char c2 = '中'; char = '9';
-
Java中还允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。
-
在Java中,char的本质是一个整数,在输出时,是unicode码对应的字符。(要输出对应数字,可以 (int)字符。
-
char类型可以运算
布尔类型 boolean
-
只允许取值true、false,无null
-
boolean类型占1个字节
-
适用于逻辑运算,一般用于流程控制
基本数据类型转换
-
当Java程序在进行赋值或运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。(AutoConvert自动转换)
-
数据类型按精度(容量)大小排序:
char—>int—>long—>float—>double (int a = 'c';)
byte—>short—>int—>long—>float—>double (double = 80;)
自动类型转换注意和细节
-
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
-
当我们把精度(容量)大的数据类型赋值给精度小的类型时,就会报错,反之就会进行自动类型转换。
-
(byte、short)和char之间不会进行相互自动转换。
-
byte、short、char他们三者可以计算,在计算时首先转换成int类型。
-
boolean不参与类型的自动转换。
-
自动提升原则:表达式结果的类型自动提升为 操作数中最大的类型。
强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意。
-
当进行数据的大小从大——>小,就要用强制转换。
-
强转符号只针对最近的操作数有效,往往会使用小括号提升优先级。
-
char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
char c1 = 100;//ok int m = 100;//ok char c2 = m;//错误 char c3 = (char)m;//ok
-
byte、char和short类型在进行运算时,当作int类型处理。
基本数据类型和String类型的转换
基本数据类型-->String类型:将基本类型的值+“ ”即可
String类型-->基本数据类型:通过基本类型的包装类调用parseXX方法即可
String s5 = "123";
int num1 = Integer.parseInt(s5);
double num2 = Double.parseDouble(s5);
float num3 = Float.parseFloat(s5);
byte num5 = Byte.parseByte(s5);
long num4 = Long.parseLong(s5);
boolean b = Boolean.parseBoolean("true");
short num6 = Short.parseShort(s5);
注意事项
-
在将String类型转成基本类型时,要确保String类型能够转成有效的数据,比如,我们可以将“123”,转成一个整数,但是不能把“hello”转成一个整数。
-
如果格式不正确,就会抛出异常,程序就会终止。