java数据类型学习及转换
快捷键的使用
-
在IDEA中输入psvm快捷键直接生成main方法
public static void main(String[] args) { } -
在IDEA中直接输入sout快捷键直接生成输出语句
System.out.println("Hello world");
注释
java中的注释有三种
-
单行注释
//单行注释 //快捷键:ctrl+/ -
多行注释
/* 多行注释(又称块注释) 快捷键:ctrl+shift+/ */ -
文档注释
/** *文档注释 *快捷键:输入/** ,点击“Enter”,自动根据参数和返回值生成注释模板 * @deprecated:Java注释练习 * @Author:周乐儿 */
书写注释是一个非常好的习惯,加油吧,sao年!
标识符
关键字
java 所有组成部分都需要名字
类名、变量名以及方法名都被称为标识符
数据类型
强类型语言
要求变量的使用严格符合规定,所有变量都必须先定义后才能使用。
弱类型语言
对变量的使用没有过于严格的规定,通常在JavaScript中可以看到
Java数据类型分为两大类
-
基本类型
-
引用类型
public class demo01 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num=10; //最常用
byte num1=111;
short num2=88;
long num3=100L;//long类型在数字后面加个L
//小数:浮点数
float num4=1.203F;//float类型在数字后面加个F
double num5=2.36;
//字符类型
char name='周';
//字符串,String不是一个关键字,而是一个类
String name1="周乐儿";
//布尔类型:是非
boolean flag=true;
//boolean flag=false;
}
}
数据类型的拓展以及面试题讲解
整数类型拓展
-
进制的表示
-
二进制:0b
-
八进制:0
-
十进制
-
十六进制0x
public class Demo01{ public static void mian(String[] args){ int num=10; //十进制 int num2=010;//八进制 int num3=0x10;//十六进制 System.out.println(num); System.out.println(num2); System.out.println(num3); } }
-
浮点数类型拓展
float与double作比较,由于float是有限的、离散的、舍入误差的、大约的、接近但不等于所以
float f=0.1f;
double d=1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
float d1=2315649871f;
float d2=d1+1;
System.out.println(d1==d2);
所以说在银行面试时问到是否可以使用float类型进行比较时,是不可以的,因为float类型的数值的近似于,约等于的,有误差。BigDecimal 数学工具类 银行业务的计算使用BigDecimal类,避免误差
字符类型拓展
public class Demo02{
public static void mian(String[] args){
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换整数型
System.out.println(c2);
System.out.println((int)c2);//强制转换整数型
//所有字符本质都是数字//编码 Unicode 表:(97=a 65=A)
char c3='\u0061';
System.out.println(c3);
System.out.println("/********************************************/");
//转义字符
// \t 制表符
// \n 换行
System.out.println("Hello\tworld!");
System.out.println("/********************************************/");
String sa=new String("hello world");
String sb=new String("hello world");
System.out.println(sa==sb);
String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);//对象需要从内存分析
}
}
布尔值拓展
public class Demo03{
public void static mian(String[] args){
boolean flag=ture;
if(flag=true){}
if(flag){}
}
}
if(flag=ture){}和if(flag){}意思一样,只是进行了精简,前者像初学者写的代码,后者则更像老手写的代码,精简且易读。
类型转换
由于java是强类型语言所以我们在运算时就需要用到类型转换。
低-------------------------------------------------------->高
byte,short,char->int->long->float->double
运算中不同数据类型,需要先进行类型转换再进行运算
-
强制类型转换
(类型)变量名 高到低
-
自动类型转换
变量名 低到高
-
注意点
- 不能对布尔值进行类型转换
- 不能将对象类型转换为不相干的类型
- 在把高容量转换为低容量时,强制转换
- 类型转换时需注意内存溢出,精度问题
-
内存溢出问题代码示例
public class Demo04{ public static void main(String[] args){ int money=1000000000; int years=20; int total=money*years; System.out.println(total);//内存溢出,-1474836480 long total1=money*years; System.out.println(total1);//默认是int类型,转换之前已经存在问题 long total2=money*(long)years; System.out.println(total2); } } -
精度问题代码示例
public class Demo05{ public static void main(String[] args){ float c=27.89f; float c1=-46.23f; System.out.println((int)c); System.out.println((int)c1); } }

浙公网安备 33010602011771号