目录
表示方法和变量的标识符用小写字母开始,后面的描述性词以大写开始。
注释
注释并不会被执行,是给我们写代码的人看的
单行注释:
只能注释当前行,以//开始,直到行结束
//输出HelloWorld!
多行注释:
注释一段文字,以/开始, /结束!
/*
这是我们多行注释,
这一行也被注释。
*/
文档注释:
用于生产API文档,配合JavaDoc。现在作了解
/*
* @Description HelloWorld类
* @Author Diamond
**/
标识符
Java自定义的关键字如下:
表示类名的标识符用大写字母开始
如:Girl, BadGirl
表示方法和变量的标识符用小写字母开始,后面的描述性词以大写开始。
如:eat(),eatFood()
//驼峰命名法
关于 Java 标识符,有以下几点需要注意:
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名。
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary、#abc
数据类型
Java是一种强类型语言,每个变量都必须声明其类型。
强类型语言也称为强类型定义语言。要求变量的使用要严格符合规定,所有变量都必须先定义后才能使
用。
弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言·
Java的数据类型分为两大类:基本类型(primitive type)和引用类型 (reference type)
/*
位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,
1B(byte,字节)= 8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
ASCIIS码:
1个英文字母(不分大小写)= 1个字节的空间
1个中文汉字 = 2个字节的空间
1个ASCII码 = 一个字节
UTF-8编码:
1个英文字符 = 1个字节
英文标点 = 1个字节
1个中文(含繁体) = 3个字节
中文标点 = 3个字节
Unicode编码:
1个英文字符 = 2个字节
英文标点 = 2个字节
1个中文(含繁体) = 2个字节
中文标点 = 2个字节
1bit表示1位,
1Byte表示一个字节 1B=8b。
1024B=1KB
1024KB=1M
1024M=1G.
*/
我们自己也可以定义变量:
public static void main(String[] args) {
//整型
int i1=100;
//长整型
long i2=998877665544332211L;
//短整型
short i3=235;
//浮点型
double d1=3.5; //双精度
double d2=3;
float f1=(float)3.5; //单精度
float f2=3.5f; //单精度
//布尔类型 boolean true真/false假
boolean isPass=true;
boolean isOk=false;
boolean isBig=5>8;
if(isPass){
System.out.println("可以");
}else{
System.out.println("不可以");
}
//单字符
char f='女';
char m='男';
}
【Java语言的整型常数默认为int型,浮点数默认是Double】
整型拓展
在我们计算机中存在很多进制问题
- 十进制整数,如:99, -500, 0。
- 八进制整数,要求以 0 开头,如:015。
- 十六进制数,要求 0x 或 0X 开头,如:0x15 。
如下:
//整型
int i=10;
int i2=010;
int i3=0x10;
System.out.println(i); //10
System.out.println(i2); //8
System.out.println(i3); //16
浮点型拓展
浮点类型float, double的数据不适合在不容许舍入误差的金融计算领域。
如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。
public static void main(String[] args) {
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d); //false
float d1 = 2131231231f;
float d2 = d1+1;
if(d1==d2){
System.out.println("d1==d2");
}else{
System.out.println("d1!=d2");
}
}
浮点数使用总结:
1. 默认是double
2. 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需
要使用BigDecimal类。
3. 避免比较中使用浮点数
布尔型拓展
boolean类型(一位,不是一个字节),就是0|1
boolean类型有两个值,true和false,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
boolean 类型用来判断逻辑条件,一般用于程序流程控制。
boolean flag = false;
if(flag){
// true分支
}else{
// false分支
}
类型转换
1、自动类型转换
public class ZiDongLeiZhuan{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66
2、强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型.
强制类型转换的语法格式: (type)var
public static void main(String[] args) {
double x = 3.14;
int nx = (int)x; //值为3
char c = 'a';
int d = c+1;
System.out.println(d); //98
System.out.println((char)d); //b
}
public static void main(String[] args) {
int x = 300;
byte bx = (byte)x; //值为44
System.out.println(bx);
}
3.错误和问题
1. 操作比较大的数时,要留意是否溢出,尤其是整数操作时;
public static void main(String[] args) {
int money = 1000000000; //10亿
int years = 20;
int total = money*years; //返回的是负数
long total1 = money*years; //返回的仍然是负数。默认是int,因此结果会转成
int值,再转成long。但是已经发生了数据丢失
long total2 = money*((long)years); //先将一个因子变成long,整个表达式发
生提升。全部用long来计算。
System.out.println(total);
System.out.println(total1);
System.out.println(total2);
}
2. L和l 的问题:
不要命名名字为l的变量
long类型使用大写L不要用小写。
public static void main(String[] args) {
int l = 2;
long a = 23451l;
System.out.println(l+1); //3
System.out.println(a); //23451
}