本文可以供非0代码基础或者学到某一篇课程中断了,继续避免重新学习浪费时间的同学阅读和快速过一遍,0基础同学最好还是过一遍原视频,韩老师讲的特别细
附上视频地址:【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibili
另外大家可以一起督学,共同学习,期待一起完成一个课程
Java基础-数据类型
变量
基本代码示例
class test{
public static void main(String[] args){
int a = 1; //定义一个int型a,并赋值1
int b = 3;//定义一个int型b,并赋值3
b = 89; //改变变量b的值为89
System.out.println(a);
System.out.println(b);
}
}
> 1
> 89
变量使用注意事项:
- 变量表示内存中的一个存储区域[不同的变量,类型不同,占用的空间大小不同比如:int 4 个字节, double 就是 8个字节]
- 该区域有自己的名称[变量名]和类型[数据类型]
- 变量必须先声明,后使用,即有顺序
- 该区域的数据可以在同一类型范围内不断变化
- 变量在同一个作用域内不能重名
- 变量=变量名+值+数据类型,这一点请大家注意。变量三要素
程序中的+号
- 当左右两边都是数值型时,则做加法运算
- 当左右两边有一方为字符串型时,则做拼接
class test1{
public static void main(String[] args){
System.out.println(100 + 98);//198
System.out.println("100" + 98);//10098
System.out.println(100 + 3 + "Hello");//103Hello
}
}
>198
>10098
>103Hello
Java数据类型
注意重点记忆
数据类型之--整数类型
Detail
- 各整数类型的范围和字段长度是固定的,不受操作系统影响
- 整型常量默认为int型,声明long型常量后须加"l"或"L"
- 通常用int即可,除非不足以表示大数才使用long
- bit: 计算机中的最小存储单位。byte:计算机中基本存储单元,1byte = 8 bit
数据类型之--浮点类型
Detail
-
浮点数在机器中存放形式,浮点数=符号位+指数位+尾数位
-
浮点型常量默认为double型,声明float型常量后须加"f"或"F"
-
浮点型常量两种表示形式
十进制数形式:5.12 512.0f .512
科学计数法形式:5.12e2[5.12*10的2次方]//512 5.12E-2[5.12/10的2次方]//0.0512
-
浮点数小“陷阱”:
class test1{
public static void main(String[] args){
double num1 = 2.7;
double num2 = 8.1 / 3; //数学中是2.7,“陷阱”出在double
System.out.println(num1);
System.out.println(num2);
}
}
>2.7
>2.6999999999999997
这里可以通过
System.out.println(Math.abs(num1 - num2));
4.440892098500626E-16
//使用到java的API,作用是差值给算出来,差值非常小,再给个if差值小于多少就认为相等即可
扩展 -- Java API文档
中文java8的在线文档:https://www.matools.com/api/java8
Java类的组织形式
上面的Math就是用到的一种类,而abs是Math类的一个方法
数据类型之--字符类型
class test1{
public static void main(String[] args){
char c1 = 'a' ;
char c2 = '\t';
char c3 = '哈';
//字符类型可以存放一个数字,这里是ascii码对应的字符
char c4 = 99 ;
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
}
}
>a
>
>哈
>c
Detail
- 字符常量是用单引号括起来的单个字符,双引号引起来是字符串
- 允许使用转义字符来转变为特殊字符型常量,如上的'\t'
- char的本质是一个整数,输出时,是Unicode编码,如a是a(可以用类型转换来转换输出看下)
- char类型可以进行运算
字符类型本质
- 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来,比如'a'存储:'a' ==>码值 97 ==>二进制(110 0001)==>存储 读取:二进制(1100001)=>97===>'a'=>显示
- 字符和ascii码值的对应关系是通过编码表决定的(规定好)
- 可以自行了解一下如下编码方式的字母和汉字的占用以及字符范围
- ASCII
- Unicode
- utf-8
- gbk
- gb2312
- big5
数据类型之--布尔类型
示例代码
class test1{
public static void main(String[] args){
boolean pass = true;
if(pass == true){
System.out.println("通过考试");
}else{
System.out.println("没通过");
}
}
}
Detail
- 不可以使用0或者非0的整数来代替false和true