Java基础学习知识点梳理02

涉及到的基础知识点:

1. 字符类型

2.数据 的自动类型转换,数据的强转,string转换为其他类型方法.

*字符类型

 

//演示char的基本使用
public class char01{
    
    //编写一个main方法
    public static void main(String [] args){
        char c1 = 'a';
        char c2 = '\t';//构成了一个转义字符
        char c3 = '冉';
        char c4 = 97;//说明:字符可以直接存放一个数字;这里会输出97表示的字符
        //修改快捷键,Ctrl +F快速定位,Ctrl+shift+d
        //删除当前行 Ctrl+shift +k
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4);
        System.out.println((int)c1);
        System.out.println('a'+10);//输出107;
    }
}

ps.char的本质是一个整数,输出的是unicode码对应的字符;

字符类型的本质探讨

1`字符型 储存到 计算机中, 需要将字符对应的码值(整数)找出来,比如'a';

储存:'a'==>码值97==>二进制(110 0001) ==> 储存;

读取:二进制=>97 ==> 'a' 显示;

2`字符和码值的对应关系是通过字符编码决定的(是规定好的);

3`介绍一下字符编码表[sublime测试]

ASCII(一个字符用一个字节来表示,一共128个字符,实际上一个字节可以表示256个字符[2的八次方,1b=8bit,1bit就是一个0 or 1]);

Unicode(Unicode 编码表 固定大小的编码 使用两个字节来了表示字符,字母和汉字统一都是占用两个字节,这样浪费空间)没有乱码问题

utf-8(编码表 大小可变的编码可使用1-6个字节表示一个符号 字母使用一个字节 汉字使用三个字节)[对unicode改进]

gbk(可以表示汉字,而且范围广,字母使用一个字节,汉字两字节)

gb2312(可以表示汉字,gb2312<gbk)

big5码(繁体中文,香港,台湾)

布尔类型:boolean(1)

1`true or false

2`boolean占一个字节

pubulic class Boolean01{
    public static void main(String [] args){
        boolean ispass = true;
        if(ispass = true){
            System.out.println();
        }else{
            System.out.println();
        }
    }
}

ps:在Java中不可以用0 和 非0 的数字来代替true 和 false;

基本数据类型转换

######################################

精度小的可以自动转换为精度大的,这就是自动类型转换

######################################

容量大小排序(背)

char(2) -> int ->long -> float -> double

byte(1) -> short(2) -> int(4) ->long(8) -> float (4)-> double(8)

float精度比long高,他们的底层结构不同;前者数据范围大于后者;

public class AutoConvert{
    pubulic static void main(String [] args){
        //演示自动转换
        int num ='a';//char -> int  
        double d1 = 80;//int -> double
        System.out.println(num);
        System.out.println(d1);
    }
}

ps细节:

public class AutoConvertDetail{
    public static void main(String [] args){
        //演示自动转换
        int num ='a';//char -> int  
        double d1 = 80;//int -> double
        System.out.println(num);
        System.out.println(d1);
        int n1 = 10;
        float d2 = n1 + 1.1F;//此处注意体会
        
        byte b1 = 10;//对,先判断数据范围,如果是就可以
        
        //int b2 = 10;
        //byte b3 = b2;这两句就错了;
        
        //char c2 = b1;此句也错;
    }
}

PS.char和 [short以及byte]不能相互转换

PS:byte ,short 和 char 可以互相运算 他们会上升到int进行计算

(注意用int 接收)**(注意上诉是无论混合运算还是单独间运算都会上升到int)**

ps:boolean不参与自动类型转换

######################################

强制类型转换

######################################

PS:注意后果,精度损失 or 数据溢出

end:强制转换只对最近的数据有效!

基本数据类型和String类型的转换4

1.基本类型转String类型:+""即可

eg

public calss StringToBasic{
    public static void main(String[] args){
        //基本数据类型->String
        
        int n1 = 100;
        float f1 = 1.1F;
        double d1 = 4.5;
        boolean b1 = true;
         String s1 = n1 +"";
         String s2 = f1 +"";
         String s3 = d1 +"";
         String s4 = b1 +"";
        System.out.println(s1 + " " + s2 + " " + s3 + " " + s4);
         
    }
}
​
​

2.String类型转基本数据类型

通过基本类型的包装类调用parseXX方法即可

eg:

public class StringToBasic{
    public static void main(String[] args){
​
         //String ->对应的基本数据类型
        String s5 = "123";
        int num1 = Integer.parseInt(s5);
        double num2 = Double.parseDouble(s5);
        //......
        //把字符串转换为字符 char-> 含义是指 把字符串的第一个字符得到
        //解读 s5.charAt(0) 得到s5字符串的第一个字符'1'
        
        System.out.println(s5.charAt(0));
        
    }
}
​
​

一定确保String是可以转换的.

否则会出现异常

ps.文中图片来自哔站韩顺平老师的课程,如有侵权,联系删除.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值