瞬息 电光石火、转瞬即逝

java学习笔记-数据类型

2020-11-25
Ko_teiru


Java学习笔记01

纯自用,瞎写

java数据类型

基本数据类型

整数型:int(整),short(短整),long(长整),byte(位)
浮点型:float(单精度),double(双精度)(两个都是表示小数)
字符型:char(用于输出字符
布尔型:boolean(真true或假false)

数据的溢出

每个数据类型有相应的数值表示范围,当一个数字已经是最大或最小值的时候,在进行增加或减少操作,就会产生数据的溢出。 当一个值的最大值+1,他就会变成该值的最小值。反之最小值-1他就会变成最大值。

max的使用

max可以用来选出两个相同类型变量之间的那个更大的变量

int a=3,b=4;  
a=Math.max(a, b);   //比较a、b中更大的值并输出,得`a=b`
System.out.println(a);    //输出a,结果为4

也可用来求一个数据类型的最大值,例如

int max=Integer.MAX_VALUE;//赋予max int类型的最大值

min的使用

min的使用与max无异,只是一个表示最大(max)一个表示最小罢了(min)。

int min=Integer.MIN_VALUE; //min变量的最小值 -2147483648

当然,MAX_VALUE或者MIN_VALUE也可以和别的数据类型来使用,比如说:

long max=Long.MAX_VALUE;//9223372036854775807
long min=Long.MIN_VALUE;//-9223372036854775808

char字符的转义

常用的转义字符
其中1~5是常见的功能类转义, 6~8为直接输出\后的字符。

No. 转义字符 描述 No. 转义字符 描述
1 \f 换页 2 \b 倒退一格
3 \r 归位 4 \t 制表位Tab
5 \n 换行 6 \\ 反斜线
7 \’ 单引号 8 \” 双引号
Char 变量名='值'; //部分值得用单引号包围

这个“值”可以直接填入单引号中,也可以直接用数字定义(ascII码)
数字定义字符变量时不用使用单引号 比如下面的例子

char ch1='a'; //为 a
char ch2=97; //同样为 a
char ch1='\"'; //其中的\表示直接输出字符,故为 "
char ch2='\\'; //为 \
char n='\n'; //n表示换行
System.out.println(ch1+n+ch2); //可以在输出时加上n用来换行

反斜线后面接符号一般会直接输出该符号

浮点类型

浮点类型说直白点就是小数(?),因为int,short,long等类型只能表示整数,而要表示小数只能用浮点类型了。

*注意:有时候给longfloatdouble套上一个较大的值的时候,会出现一个错误,原因可能是编辑器把数值当成了int类型,这时候需要在数值后面加上对应数据类型的首字母即可解决。参考链接

long x=99999999999l//不分大小写
float y=3.14F
double z=3.00000000D

默认类型: 整数(1、2、3)一般默认是int类型,而小数(1.1、1.2、1.3)的默认类型是double类型。

布尔类型

定义一个变量的真(true)假(false)
true与false不只在java,在别的地方中也很常见,比如说aria2和vccode的配置文件中。
布尔类型的默认值是为false。但是某些配置文件的默认值是人为定义的。
在二进制里false==0 ture==1
布尔类型的变量只能为true或false。

boolean flag=true; //定义flag为true

数值的自动转换

在程序中已经定义好了数据类型的变量,若是想用另一种数据类型表示时,Java会在下列的条件皆成立时自动做数据类型的转换:

  • 转换前的数据类型与转换后的数据类型兼容
  • 转换后的数据类型的表示范围比转换前的类型大
    如:
    System.out.println("10/3="+(10/3));     //10/3=3
    System.out.println("10/3="+(10f/3));    //10/3=3.3333333
    System.out.println("10/3="+(10/3f));    //10/3=3.3333333
    System.out.println("10/3="+(10d/3));    //10/3=3.3333333333333335
    System.out.println("10/3="+(10/3d));    //10/3=3.3333333333333335
    

    10除以3因为其默认的类型是int型,所以第一条输出结果也省去了小数点后面的结果,直接输出int型。而后面在除数和被除数中加入fd定义了除数或被除数的类型,其结果也自然而然变成了我们定义的那个类型了。

    另外由于小数默认定义的类型就是double,所以10/3.5输出的结果也会是double型。

String型

String表示的是字符串,在输出的时候,所有的数据类型都向String类型进行转换。 String不是基本数据类型,属于引用数据类型,具体的我也不是很明白,可以去这里看看。

String str1="孙笑川";   //str1代表的字符串 是孙笑川
String str2="网恋被骗";     //str2代表的是 网恋被骗
int m=8000;     //m代表8000
System.out.println(str1+str2+m);
str1= str1+str2+m;      //修改str1的内容为 孙笑川+网恋被骗+8000
System.out.println(str1);

上面两次输出的值都是一样的,另外还要注意的是String首字母必须要大写,就和System.out.printlnSystem一样.

数值的强制转换

当两个整数运算时,其运算结果也会是整数。(参考自动转换) 举例来说,当作整数除法8/3的运算,其输出结果为整数2,而不是实际的2.33333…因此,在java中若是想要得到计算的结果是浮点数(带小数)时,就必须将数据类型做强制性的转换,转换的语法如下:

float Q1=30.3333f;  //定义Q1的值为float类
int Q2=(int) Q1;    //将转换为int的Q1的值赋予Q2
System.out.println("Q2的值为:"+ Q2);   //此时输出的为Q1转换为int的值
System.out.println("10除以3的结果为:"+(float)(10/3));  /**错误用法
这里是先运算出3的结果再将结果转换为float*/
System.out.println("10除以3的结果为:"+((float)10/3));  /**正确用法
定义运算过程为float,然后再进行运算,此时的结果为正常结果*/
/**输出结果为:
Q2的值为:30
10除以3的结果为:3.0
10除以3的结果为:3.3333333
*/

强制转义不会四舍五入还请注意

简单转换(Q2那一行)的话用法是

(想要转换数据类型) 变量名称;
int Q2=(int) Q1;    //Q1属于float类型

另外输出时括号括括号有小学数学内味了,不过那会是{[()]}罢了

单元小结

  1. Java中的数据类型划分
  2. 八种基本数据类型,包括长度的,产量的默认值。
  3. String,任何类型都会先String进行转换。

知识共享许可协议
本作品由Ko_teiru采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。


Similar Posts

评论

传送门