第一节 数据类型

数据类型

DOC命令

#盘符切换              	 D:
#任何位置切换不同盘  	cd /d c:   (cd  change directory)
#查看目录下文件     	  dir    tree 文件夹
#表示上一级目录    	  ..
#进入目录下文件   	 	  cd 文件名
#返回上一级       	    cd.. 
#清理屏幕         	     cls  (clear screen)
#提出终端        	     exit
#查看电脑          	     ip ipconfig

转义字符

//   \b  退格(光标回退一格)
 System.out.println("aaa\b n");//输出aan;

//   \r  回车(光标回到开头)
 System.out.println("aaa\r n");//输出n;

//   \n  换行(光标移动到第二行的开头)

//   \t   制表(tab键) 常用于对齐
 System.out.println("A\tB\tC\t");//输出A	B	C

//   \\  \"  \'     (正常转义不多解释)  

注意事项

  • 要注意分辨 \r\n 的不同。

  • \t可用于对齐操作。


变量

变量三要素(类型+名称+值)

变量是程序的基本单位

数据类型

byte A=10;    //值相同,所占空间不同
short B=10;  //同为10,但A占一个字节。B占两个字节的空间;

//java的整型常量默认为 int 型,long型需在后加'l'或'L'
int a=10;
long b=10L;

//java的浮点型常量默认为 double 型,float型需在后加'f'或'F'
double a=0.1//0可省略 a=.1;
float b=0.1f;


浮点型

浮点数 = 符号位 + 指数位 + 尾数位(尾数位可能会丢失,造成精度损失)(小数都是近似值)

浮点型细节

double a=2.2f//允许的,4字节的float 放进 8字节的double 不会溢出
float b=2.2  //不允许的,8字节的double 放进 4字节的float 会溢出
    
Double a=2.7;
Double b=8.1/3;  
//人工计算的话为b=2.7 a=b ;
//但是由于计算机是二进制运算所以b=2.6999999997;a!=b;
//比较小技巧
if(Math.abs(a-b)<0.000001){  //考虑不同精度设置不同大小
    System.out.println("true");
}

科学计数法 5.12e2 [5.12*10^2]   5.12e-2 [5.12*10^-2]

注意事项

  • String属于类(class) 不属于基本数据类型

字符型

//char 本质是unicode码,默认输出为unicode对应的字符。

char x=98; //字符类型可以直接存一个数字;
System.out.println(x);//输出  a  ; 输出时输出unicode编码代表的字符;

char x='a'+1System.out.println(x);//b
System.out.println((int)x);//98
System.out.println(x+1);//99
//两char类型 sout中使用+号,会转换成unicode编码输出
//'a'  "a"  单引号括起来的才是 字符, 双型引号为字符串。

+”的使用

  • 两方为基本数据类型时,做加法运算(包括char)
char x='a';
char y='b';
System.out.println(x+y);//输出195;char转换成unicode编码

int a=10;
System.out.println(a+a);//输出20;

  • 一方为字符串,则做拼接运算

    System.out.println(10+"HELL");//输出10HELL;
    

类型转换

自动类型转换:java进行赋值或运算时,精度小的类型 自动转化为 精度大的数据类型。

char-> int -> long -> float ->double

byte -> short -> int -> long -> float -> double

//自动转换了类型
int a='a';//输出97
double d=80;//输出 80.0
  • 多类型混合运算,系统首先自动转换为精度(容量)最大的数据类型,再运算

    int a=10;
     a+1.1;//结果为double类型
     a+0.1F;//结果为float类型
    
  • byte,short,char 他们三者可以计算,但会转换成 int 类型

    byte a=1;
    short b=1;//a+b为 int 类型。a+a也为 int 类型
    
  • (byte,short)和 char 之间不会相互自动转换

    byte a=10;//对,具体值赋值时,先判断是否在取值范内,是则可以
    int n=10;
    byte a=n;//错,变量赋值,判断类型,而非具体数值
    
  • 布尔类型不参与转换


强制类型转换:自动类型的逆过程,将精度(容量)大的数据类型转换成小的数据类型,使用时加上强制转换符号(),但可能造成精度降低或溢出

int a=(int)1.9;//输出1;
int b=2000byte n=(byte)b;//输出 -48 (溢出)

int m=97;
char n=m;//错误,int精度比char高
char n=(char)m;//输出a,
  • 强制符号只针对最近的操作数有效,往往会使用小括号提升优先级

    int x=(int)10*3.5+6*1.5;//报错:double->int  
    int x=(int)(10*3.5+6*1.5);//对
    
    short s=12;
    s=s-9;//错,int->short;
    s=(short)(s-9);//对
    

String和基本数据类型转换

基本类型转String:基本类型+“”

int n=100;
String a=n+"";//输出为100  ,为String;
System.out.println(a+1);//输出1001;

String转基本类型

String a="123";
int num1=Integer.parseInt(n);
double num2=Double.parseDouble(n);
//以此类推
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值