Java注释、标识符/关键字、数据类型(part21-24)
注释:
单行注释
//注释不会被编译也不会被执行
多行注释
/* */
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world");
}//单行注释
/*多行注释
多行
多行
多行注释
*/
}
文档注释
/**
*/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world");
}//单行注释
/*多行注释
多行
多行
多行注释
*/
/**文档注释
* @Descrption Helloworld
* @author szc
*
*
* */
}
标识符/关键字:
类名:class的名字,如上的“Helloworld”
方法名:如上的“main”
变量名 String ABC = ‘shdufshdf’, ABC为变量名
标识符要以大写/小写/$/_来开头,由这些成分及数字组成命名,不可包含#&等(严格区分大小写),不可数字开头
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world");
String _name = "Jack";//在字符串赋值时,需要用双引号赋值,单 引号会报错
System.out.println(_name);
}
}
数据类型:
基本数据类型
java是强类型语言,所有变量需要先定义再使用
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
浮点型:float 4个字节 double 8个字节
java中多用double表示浮点型。
字符型:char 2个字节,char用单引号赋值
布尔型:
boolean : true false 占1位
八个基本数据类型:以上加粗
public class Demo02 {
//一键自动对齐所有代码:ctrl+alt+L
public static void main(String[] args) {
String a;
a = "10";
System.out.println(a);
//整数
int num1 = 10;
byte num2 = 127;//byte max为127
long num3 = 30L;//long型后面加L
short num4 = 30;
//小数、浮点数
float num5 = 50.1F;//float后加F
double num6 = 3.1415926;//Java多用double表示浮点型
//字符
char name = 'S';//char只表示一个字符,而不能表示长的字符串
char name1 = '上';//char类型需要用单引号赋值
//字符串
String name2 = "弹幕";//String不是关键字,而是一个类
String name3 = "qweerttyjaij";
//布尔型
boolean flag = true;//布尔型用boolean表示
boolean flag1 = false;
}
}
字符串:String
String不是关键字,而是一个类。String用双引号赋值。
一键自动对齐所有代码:ctrl+alt+L
位(bit):计算机中数据存储的最小单位,11001100是八位二进制,用bit表示
字节(byte):计算机中数据处理的基本单位,习惯用B表示
1B(字节)=8bit(位)
1024B = 1KB
32位:寻址能力,最多支持4GB内存条
64位:理论上∞大内存扩容
数据类型扩展+面试题
//整数进制:二进制0b 十进制 八进制0 十六进制0x,末尾的是前缀
int i =10;
int i2 = 010;//八进制
int i3 = 0x10;//十六进制
System.out.println(i);//输出的是10
System.out.println(i2);//输出的是8
System.out.println(i3);//输出的是16,因为是16进制的10
//浮点数扩展:银行业务,钱
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);//输出false
float f1=2392338228383f;
float f2=f1+1;
System.out.println(f1==f2);//输出true
float型有限且离散,存在舍入误差,大约/接近但不等于,有时会存在问题
因此最好完全避免浮点数进行比较
使用类BigDecimal进行比较
//字符拓展
char r1 = 'a';
char r2 = '中';
System.out.println(r1);
System.out.println((int)r1);//输出97
System.out.println(r2);
System.out.println((int)r2);//输出20013
//编码 Unicode 0-65535,用\u表示
char c = '\u0061';
System.out.println(c);//输出'a'
字符转义,\t、\n等
\t为大空格,\n为换行
System.out.println("hello\tworld");//输出:hello world
扩展:
==扩展
System.out.println("=====================");//分割线
String sa = new String("Hello world");
String sb = new String("Hello world");
System.out.println(sa==sb);//输出false,==比较的是地址,new创建了新的
String sc = ("Hello world");
String sd = ("Hello world");
System.out.println(sc == sd);//输出true,放入字符常量池
布尔值扩展:
boolean flag = true;
if (flag == true) { } //新手写法
if (flag) { } //老手写法
//两个写法是等同的