Java学习第二天 基本数据类型 类型转化 转义字符 控制台输入导包和规则 类型自动提升

本文介绍了Java中的基本数据类型,包括整数、小数、布尔和字符,以及引用数据类型如字符串、数组和对象。讨论了数据类型的自动转换和强制转换,特别强调了当转换可能导致数据丢失或超出范围时的问题。还提到了运算时的数据类型提升规则,并给出了控制台输入和异常处理的例子。
摘要由CSDN通过智能技术生成

 基本数据类型:
1 整数
2 小数
3 布尔
4 字符
引用数据类型:
1 字符串
2 数组 
3 对像

1整数    类型    字节    取值
        byte           1        -128-127
        short          2        -32768-32767
        int              4        
        long           8        
        float           4        
        double       8        
2 布尔     Boolean  1  ture/flase
3 字符    char  2   

类型转换:

有自动转换和强制转换两种

根据取值范围定义其类型大小

//类型自动转化1 小类型转大类型
package demo;

public class TestAutConvert{
	public static void main(String[] args){
		short s = 20;
		int i = s;//自动转换
		
	}
}
//类型强制转化2 大类型转小类型
package demo;
public class TestAutConvert{
	public static void main(String[] args){
		short s=132;
		byte  b = (byte)s;//强制转换
		
	}
}

 我们发现以上例子都是在目标类型的范围里,

如果我们要int 10000转为 byte (最大值为127)比如下面

int i=100;byte b = (byte)i;   b=100;
int i = 10000; byte b = (byte)i; b=16;//为什么会是16?需要思考一下
int i = 2.5; byte b = (byte)i;  b=2;//精度缺失
char c=96; int i=c; i=96; 


/*byte我们知道占一个字节,也就是8个字符那么1000转换为二进制为0010 0111 0001 0000 我们去后8位
0001 0000  
第一位:符号位 	0代表正数  1代表负数
		        如果第一位是1 代表负数
				除符号位之外剩余数字二转十  
0001 0000 第一位为0,为正数转化为10进制为16

 赋值运算符

+= 为求和赋值
-= 为求差后赋值
*= 为求积后赋值
/= 为求商后赋值
%= 求余数后赋值

控制台输入导包和规则

//导入包一般在Java中在先导入程序要的包
//在向控制台输入要进行导入包后才能操作
import java.util.Scanner;
//在主程序写上
Scanner input = new Scanner(System.in).nextInt; 
Scanner input = new Scanner(System.in); //两种方式一样
		System.out.println("请输入猜测的数");
		int userNum = input.nextInt();//获取整数
						   .nextdouble();//获取小数
						   .next();//获取字符串
						   .next().charAt(0);//获得单个字符
		
		input可以换成任意字符 在后面要与之对应。
		
这样就可以在控制台上输入
但如果输入不匹配的数据类型如在.nextint();输入了小数或字符串
就会报错 产生Java.util.InputMismatchException

运算时自动类型提升:
 当作算数运算时
 a*b=c;
 a为double比其它数据类型都大,那么结果c也是double类型
 如果a b 中最大为int 那么结果c是int类型
 double> float>long>int>short>byte>
 
注意:任何数据类型与String相加,实为拼接 结果自动提升为String
 

c=a*b

/*a,b做算术运算时,结果c会自动提升较大的数据类型
一般我们会先定义*/

int c= a*b;

/*如果a,b,有比int大的类型会报错,a,b有为double,long,float类型是不可以的

但如果ab类型比int小,会自动提升为int类型

需要特别注意再操作数中没有int,a,b为short或byte计算结果仍为int,特别注意
因此我们一般定义为int或double

任何类型于String相加(+)时,实为拼接,自动提升为String
int i=5;
String s=i+"ss";

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值