注释
Java语言的注释一共有三种类型,分别是单行注释、多行注释和文档注释。
1. 单行注释
单行注释就是在程序中注释一行代码,在Java语言中,使用双斜线“//”进行单行注释。
2. 多行注释
多行注释是指一次性注释多行代码,在Java语言中,使用“/*……*/”进行多行注释。
3. 文档注释
文档注释用来说明程序的信息,在Java语言中,使用/**开头,*/结束。可以包含一个或多个@标签,每一个@标签必须在一个新行的开始紧跟星号*。
举个栗子:
/***@authorHelloWorld102
*这是一个文档注释*/
public classTest{/*这是一个多行注释*/
public static voidmain(String[] args){//这是一个单行注释
System.out.println("Hello World");
}
}
注释的使用
1. 排查错误, 快速排查出存在错误的代码片段
2. 书写逻辑处理细节, 不管是复杂还是简单的逻辑处理, 为了方便后续代码调整是节省时间, 书写代码完成了什么样的逻辑处理
3. 书写技术点描述, 有些语句可能不太常用, 避免每次看到相关代码都去百度
标识符和关键字
标识符
标识符
所谓的标识符, 就是用于给程序中变量、类、方法命名的符号
标识符的规则
1. 由字母、数字、下划线和美元符号($)组成, 但不能以数字开头
2. 不能是Java的关键字或保留字
Java关键字
Java关键字
Java语言中有一些具有特殊用途的单词被称为关键字,
当定义标识符时, 不能和关键字相同, 否则将引起错误, 如无法通过编译等
注意:
1. Java的所有关键字都是小写
2. main是默认入口的方法名,不是关键字,不是保留字
数据类型分类
注意:
空类型(null type)就是null值的类型, 这种类型没有名称;
空引用(null)是null类型变量唯一的值, 空引用可以转换成任何引用类型
空引用只能转换成引用类型, 不能转换成基本类型
Java 常量
Java 中主要有如下几种类型的常量
数值常量 (整数, 小数)
整数的四种表现形式( 二进制, 八进制, 十进制, 十六进制 )
进制: 一种计数方式
字符常量, 字符串常量
布尔型常量
null常量
System.out.println(12);
System.out.println(1.23);
System.out.println('a'+0);
System.out.println("abc");
System.out.println(true);
System.out.println(null); //null不可以打印,也不可以参与运算
进制相关的知识( 扫盲 )
1byte =8bit ( 一个字节为8个比特位 )
进制的转换* 十进制转换为二进制 -- 除/余数* 二进制转换为八进制, 十进制, 十六进制 -- 二进制按照三位分组为八进制
负数的进制表现形式( 扫盲 )
一个整数在计算机中的表现形式6 ===> 00000000 00000000 00000000 00000110一个整数占4个字节, 一个字节8个bit
问题:-6的表现形式是什么呢?整数的二进制取反, 再加10000 0110取反1111 1001
+ 1 0000 0001
--------------
1111 1010小知识: 负数二进制的最高位为1
Java 变量
Java 中主要有如下几种类型的变量
局部变量
类变量(静态变量)
成员变量(非静态变量)
Java变量的概念
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
为什么要定义变量
存储区域的重复使用; x = 3; x = 5;
什么时候使用变量
当数据不确定的时候,使用变量进行表示.
变量就如同数学中的未知数.
变量的定义格式
数据类型 变量名 = 初始化值; int a = 0;
注意:
变量在使用之前必须要进行初始化
变量的数据类型
记忆技巧: 四类八种
基本数据类型
数值型数据 整型-------- byte1个字节-------- short2个字节-------- int4个字节-------- long 8个字节 (L/l)
浮点型-------- float 4个字节 (F/f)-------- double8个字节
字符型数据-------------- char2个字节
布尔型数据-------------- boolean4个字节
引用数据类型 类
接口
数组
变量的"类型提升" 和 "强制转换"
自动类型提升: 低类型 -->高类型
当两个不同类型的数据进行运算时, 转换成占用内存比较大的那种类型之后再进行运算
比如:int a = 3;byte b = 2;int i = a + b; //a占用内存大, 所以b会提升为int类型进行运算
强制类型转换: 高类型--> 低类型 char b = (char)a;
将一个占用内存大的数据, 赋值给一个占用内存小的数据是, 需要进行强制类型转换
比如:
显式强制类型转换int a = 3;byte b = 2;byte i = (byte) (a + b); //a占用内存大, 所以b会提升为int类型进行运算
隐式强制类型转换byte b = 2 + 3;
扩展信息 - 码表( ASCII美国码表 gb2312 国标码表 gbk国标扩展码表 Unicode国际标准码表 )
ASCII美国码表 gb2312 国标码表 gbk国标扩展码表 Unicode国际标准码表(万国码)
扩展信息 - 类型转换考题
byte b = 3 + 4;1.是否可以正常执行 可以2.执行原理 右边为int类型的数据, 当进行赋值是会进行判断, 如果符合范围, 隐式强制类型转换int a = 2;byte b = a + 4;1.是否可以正常执行 不可以, 编译就会报错2.执行原理 a是变量, 无法进行大小范围的检查, 必须进行强制类型转换intx;int a = 1;int b =Integer.MAX_VALUE;1.是否可以正常执行 可以2.执行原理 都为同种类型, 超出后自动舍弃最高位
运算符
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三元运算符
算数运算符
+ - * / % ++ --
/**重点:
++ --
b=a++(a先参与运算,在自增) b=++a(a先自增,再参与运算) 如果不参与运算,仅为自增
了解:
1. 6370 / 1000 * 1000 = ? 答案: 6000, 两个整数运算得到的是整数
2. 5 % 2 答案: 1
-5 % 2 答案: -1 (模运算中的负数符号, 仅参考被模数)
2 % -5 答案: 1
3. "5+5"+5+5 和 "5+5"+(5+5) 答案: 5+5=55 5+5=10*/
赋值运算符
假设x=6、y=3:=:若是x=y,那么x=3.+=:x+=y相当与x=x+y,结果是x=9.-=:x-=y相当与x=x-y,结果是x=3.*=:x*=y相当与x=x*y,结果是x=18./=:x/=y相当与x=x/y,结果是x=2.%=:
重点:short s = 3;
s+=4; //正常执行, 该表达式底层进行了类型转换处理
s = s + 4; //编译失败, 高类型转换为低类型, 需要进行强制类型转换
比较运算符
> < >= <= == !=比较运算符的结果为true或者false
逻辑运算符
! &(&&) |(||) ^作用: 连接布尔类型数据的表达式!true-->false true&true--->true注意:^ 异或的两边如果相同,结果为false;两边不同结果为true. true^true-->false false^false--->false重点:&& 和||, 如果左边可以得到整个表达式的结果, 那么右边的不参与运算, 所以效率更高, 开发中常用.
位运算符
<>(右移) >>>(无符号右移) &(与) |(或) ^(异或) ~(反码)
作用: 用于对二进制进行运算.
未完, 待续......................