【JAVA基础】8中基本数据类型,基本数据类型之间的运算规则,引用数据类型,进制转换,真值,变量的赋值,内存分配原理,值传递机制以及面试题;运算符,从键盘获取值

关键字:

>定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
>特点:关键字中所有字母都为小写

8中基本数据类型:

数据类型 所占字节(B) 取值范围 默认值
byte(字节型) 1 -128~127 0
short(短整型) 2 -215~215-1 0
int(整型) 4 -231~231 0
long(长整型) 8 -263~263 0
float(单精度浮点型) 4 -3.4E38~3.4E38 0.0
double(双精度浮点型) 8 -1.7E308~1.7E308 0.0
char(字符型) 2 ’ '(空格字符)
boolean(布尔型) 只有True和False false

基本数据类型之间的运算规则:

这里讨论只是7中基本数据类型变量间的运算,不包含Boolean类型。

Boolean型不可以转化成其他的数据类型。

1.自动类型提升:

​ 当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。(这里的容量大小指的是表示数的范围的大和小,比如float容量大于long型

​ byte,char,short—>int—>long—>float—>double

​ 特别的:当byte,char,short三种类型的变量做运算时,结果为int型。

2.强制转换类型:(自动类型提升运算的逆运算)

​ 当高级别的值赋给低级别的变量时,必须使用强制类型转换;

​ 需要使用强制转符:()

​ 注意:强制类型转换可能导致精度损失。

class Hello{
   
    public static void main(String[] args){
   
        //精度损失举例1:
        double d1 = 12.9999;
        int i1 = (int)d1;		//截断操作
        System.out.println(i1);
        //>输出结果为:12
        int i2 = 128;
        byte s2 = (byte)i2;
        System.out.println(s2);
        //>输出结果为:-128
    }
}

3.特殊情况:

/*
整型常量,默认类型为int型。

浮点型常量,默认类型为double型
*/
class Hello{
   
    public static void main(String[] args){
   
        //(一)
		long i = 12345;//此时编译能通过,因为12345还在int范围内。
        long j = 23542554656;//此时编译不能通过,j的赋值大于int型上限。
        //正确写法:
        long j = 23542554656L;
        //需要在数值后面加上L或l才能转换成long型。
        //(二)
        float x = 12.3;//编译错误
        //正确写法:
        float x = 12.3f;//或者 float x = (float)12.3;
      
        short s = 1;
        s = s + 2;//编译不通过,发生了自动类型转换,(s+2)为int型,左边的s还是short型,作为接收参数等级低于int型。
    }
}

引用数据类型

String类型、数组类型、接口、类

字符串类型:String

String不是基本数据类型,属于引用数据类型,翻译为:字符串

使用方式与基本数据类型一致,例如:String str = “abcd”;使用String时必须使用:“”;

一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。

可以与8种基本数据类型进行运算,且只能是连接(+)运算,运行结果仍为String类型。

String s = "";//合法
char c = '';//编译错误
String str1 = 123;//编译不通过
String str1 = 123 + "";//编译正常

进制转换:

进制名称 数字范围 方法 说明
二进制 0,1 满2进1 以0b或0B开头
八进制 0~7 满8进1 以数字0开头
十进制 0~9 满10进1
十六进制 09及AF 满16进1 以0x或0X开头

.所有数字在计算机底层都以二进制形式存在

.计算机以二进制补码的形式保存所有的整数。

真值:

​ 1:机器数的第一位是符号位,后边的才是真正的数值,所以机器数的形式值就不等于真正的数值。</

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值