Java基础
三种注释
public class HelloWorld {
public static void main(String[] args) {
//输出hello,world
//单行注释
System.out.println("hello world!");
/* 我是多行注释
*我是多行注释
*我是多行注释
* */
//javadoc,文档注释 /** 注释 */
/**
* @Description Hello world
* @Author jzq
* */
}
}
标识符
关键字
命名规则:
- 只能以 字母 $ (_)下划线 这三种开头
- 首字符之后可以,字母 $ ,_, 数字的任意组合
- 123abc错误,#abc错误,-123错误
- 标识符大小写敏感man!= Man
- 可中文命名,但不推荐。
- 不能出现JAVA关键字。
命名方式(为了规范)
-
项目名,全部小写
-
包名,全部小写
-
类名首字母大写,多单词组成每个单词首字母大写
public class Hello{} public class HelloWorld{}
-
变量名、方法名首字母小写,多单词组成每个单词首字母大写
String name = "张三"; String FirstName = "Jams"; public void toString(){} public void test(){} public void TestMethond(){}
-
常量名全部大写
public static final String STUDENT_NAME = "网红";
-
注释规范可参考:https://www.cnblogs.com/zshibo/p/8007123.html
数据类型
强类型语言(c/java):要求变量的使用严格符合规定,所有变量都必须先定义后使用。
弱类型语言(VB,JS):要求变量的使用符合规定即可。
java两大类数据类型
基本类型
-
数值类型
整数类型:byte(1B)->short(2B)->int(4B)->long(8B)
浮点数:float(4B)->double(8B)
字符类型:char(2B)
//整型 byte num = 100; short num1 = 100; int num2 = 100;(常用) long num3 = 100L;//后加L //浮点型 float num2 = 20.1F;//后加F double num3 = 3.1415926; //字符 char h = 'h'; char b = '国'; String name = "张三";//String不是关键字,是类 //布尔值 boolean flag = true; boolean flag1 = false;
int,double,平常使用足以。
-
boolean类型
true/false(1bit)
-
1Word(字)=2Byte(字节),1Byte(B)=8bit(b),1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB
-
补充:
- 位(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个字节
- 位(bit):是计算机 内部数据储存的最小单位,11001100是一个八位二进制数。
-
常识解释:
- bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。这里单位是bit(位)
- Bps即是Byte per second 的简称。而电脑一般都以Bps 显示速度,如1Mbps 大约等同 128 KBps。这里单位是Byte(字节),故1 Mbps=1024/8 KBps
- mbps=mega bits per second(兆位/秒)是速率单位,所以正确的说法应该是说usb2.0的传输速度是480兆位/秒,即480mbps。
- mb=mega bytes(兆比、兆字节)是量单位,1mb/s(兆字节/秒)=8mbps(兆位/秒)。
- 总结:与传输速率有关b指bit,与容量有关的b指Byte。
-
数据扩展
public class DataType { public static void main(String[] args) { //整数拓展 //进制: 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i1 = 0b10;//二进制0b int i2 = 010;//八进制0 int i3 = 0x10;//十六进制0x,0-9 A-F 16 int i4 = 0xFFFFFFFF;//-1 这里涉及补码的问题 System.out.println(i);//10 System.out.println(i1);//2 System.out.println(i2);//8 System.out.println(i3);//16 System.out.println(i4);//-1 System.out.println("##########################################"); //浮点数拓展 //float double 有限 离散 舍入误差 大约 接近但不等于 //最好完全避免使用浮点数进行比较 //银行业务:BigDecimal 数学工具类 float f = 0.1f;//0.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false System.out.println(f);//0.1 System.out.println(d);//0.1 float f1 = 233333333f; float f2 = f1 + 1; System.out.println(f1==f2);//true System.out.println("##########################################"); //字符拓展 char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1);//强转 97 System.out.println(c2); System.out.println((int)c2);//强转,20013 //所有字符本质还是数字 //编码 Unicode (表:97=a,65=A,...)占2字节 ( 0-65536 每个数字代表一个字符 Excel最长是 2^16=65536) //U0000-UFFFF这么表示 char c3 = '\u0061'; System.out.println(c3);//a //转义字符 // \t,\n,.... System.out.println("Hello\t World");//一个Tab键 System.out.println("Hello\nWorld"); //print(),println(),printf() System.out.println("Hello");//Hello 自动换行 System.out.println("World");//World System.out.print("hello"); System.out.print("world");//无换行 System.out.printf("%d",i); System.out.printf("%.2f",f1);//helloworld10233333328.00 格式化输出,无换行 System.out.printf("\n"); System.out.println("##########################################"); //String 对象,内存分析 String str = new String("hello,world"); String str1 = new String("hello,world"); System.out.println(str==str1);//false String str2 = "hello"; String str3 = "hello"; System.out.println(str2==str3);//true System.out.println("##########################################"); //布尔值 boolean flag = true; //if (flag){} 等价于 if(flag==true){} } }
-
参考链接:
补码:https://zhuanlan.zhihu.com/p/103239461,https://zhuanlan.zhihu.com/p/106827239
ANSII码:https://baike.baidu.com/item/Unicode%E7%A0%81/7704811?fr=aladdin
Unicode码:https://baike.baidu.com/item/Unicode/750500?fr=aladdin
引用类型
- 类
- 接口
- 数组