【Java学习笔记】JavaSE入门(2)

本文详细介绍了Java中的注释类型、标识符规则以及基本数据类型,包括整数、浮点、字符和布尔类型的取值范围及使用注意事项。特别强调了浮点数在比较时的精度问题和字符类型的本质。同时,讲解了类型转换的操作,包括强制转换和自动转换,以及可能出现的溢出和精度问题。
摘要由CSDN通过智能技术生成

IDEA注释:

单行注释://(英文输入法),只能注释一行内容

多行注释:/*(英文输入法),可以注释一段内容

文档注释:/**(英文输入法),javaDoc

注释快捷键:ctrl+/


标识符与关键字

Java所有的组成部分都需要名字。类名变量名以及方法名都被称为标识符。
关于标识符我们需要注意的是以下几点:

  1. 所有标识符都应该以字母、美元符、或者下划线开始,首字符之后可以是任何字符组合;
  2. 不能使用关键字作为变量名或方法
  3. 标识符是大小写敏感的
  4. 可以使用中文命名,但一般不建议这样去使用,也不建议使用拼音(很low)

下图这些“关键字”虽然现在看起来很多,但是学到后面基本上都能熟悉,这里不用特意去记。
在这里插入图片描述


**铺垫:
位(bit):是计算机内部数据储存的最小单位;

字节(byte):是计算机中数据处理的基本单位,习惯用大写B来表示;

1B=8bit

字符:是指计算机中使用的字母、数字、字和符号


基本数据类型(primitive type)


数值类型:

整数(类型)

1.byte1个字节,—128-127(8)
2.short2个字节,—32768-32767(16)
3.int4个字节,—2147483648-2147483647(32)
4.long8个字节,—9223372036854775808-9223372036854775807(64),使用时数字后加L

注:一般用int

浮点(类型)

即包含小数点,一般用double

1.float4个字节(32位),使用时数字后加F
2.double8个字节(64位)

字符(类型)

1.char2个字节
    例子:
    char name ='邑';

一个字符就是一个字,用单引号锁定字符

​ **字符串:string,它不是关键字!**是引用类型里的类,串用双引号锁定字符

例子:
String namea ="什么是邑?"

boolean(布尔值)类型:

占1位其值只有true和false两个,表示:是非

例:
    boolean flag = true
    boolean flag = false

一些底层逻辑与面试题:


整数拓展

二进制0b   十进制    八进制0    十六进制0x
int a = 0b10;
int b = 10;
int c = 010;
int d = 0x10;

浮点数拓展

float :有限,离散,舍入误差,大约,接近但不等于
double
//最好完全避免使用浮点数进行比较!!!
//最好完全避免使用浮点数进行比较!!!
//最好完全避免使用浮点数进行比较!!!

     float a1 =0.1f; //0.1
     double a2 =1.0/10; //0.1
        System.out.println(a1==a2); //结果不相等,false
        System.out.println(a1);
        System.out.println(a2);
     //A==B,==是指两个值是否相等

     float a3 =23123121213f;
     float a4 = a3 + 1;

        System.out.println(a3==a4); //结果相等,true
        System.out.println(a3);
        System.out.println(a4);

字符拓展

char a1 ='厚';
char a2 ='礼';
char a3 ='谢';
    System.out.println((int)a1);
    System.out.println((int)a2);
    System.out.println((int)a3);//a1-a3都是强制换行
    //所有的字符本质还是数字.
//编码  Unicode 表:(谢=35874)2字节  0-65536 Excel  2的16次方=65536
//U0000 UFFFF
    char a4 ='\u0061';
    System.out.println(a4); //a

转义字符

 \t  制表符
 \n  换行
 ......待拓展
   例: System.out.println("hello\tworld");
   //hello world
   有明显的空格隔开字符输出

布尔值拓展

boolean flag =true;
if (flag==true){} //新手
if (flag){}   //老手
    //ture
    //Less is more!代码要精简易读

类型转换

强制转换

由高到低,即(类型)变量名

int a1 = 12;
byte a2 =(byte)a1;
   System.out.println(a1);
   System.out.println(a2);
   //12,12

自动转换

由低到高转换

int a3 = 132;
double a4 = a3;
   System.out.println(a3);
   System.out.println(a4);

变量溢出

 int b1 = 128;
     byte b2 =(byte)b1;
        System.out.println(b1);
        System.out.println(b2); //-128
      //因为byte的范围是—128到127,溢出了
//数字之间可以用下划线分割,案例:
        int money = 10_0000_0000;
        int years = 20;
        int total =money*years; //-1474836480,计算的时候溢出了
        long total2 =money*years; //这里默认是int,转换之前就出问题了
        long total3 =money*((long)years); //先把一个数转为long就解决了
        System.out.println(total3); //20000000000

精度问题

//例:
  System.out.println((int)23.7); //23
  System.out.println((int)-45.89f); //-45

注意点

1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.转化时可能存在内存溢出,或者精度问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值