Java的基本语法 数据类型 相应拓展

注释、标识符、关键字

注释

注释为了便于理解代码,书写注释是一个非常好的习惯。

  1. 单行注释
  2. 多行注释
  3. 文档注释

标识符

所有的标识符都应该以字母,美元符$,下划线开始

首字符之后可以是字母,美元符,下划线或数字的任何字符组合

不能使用关键字作为变量名或者方法名

标识符大小写敏感

合法标识符:

非法标识符:

可以使用中文命名,但一般不建议

String 王者荣耀=“最强王者”;是可以的

数据类型

强类型语言

要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用

缺点:安全高,速度低

弱类型语言

基本类型

1. 数值类型
整数类型
浮点类型
字符类型
2.boolean类型
//八大基本类型
    
    //整数
    int num1=10;//最常用
    byte num2=20;
    short num3=30;
    long num4=30L;//long类型数字后面要加个L

    //小数:浮点数
    float num5=50.1F;//float类型数字后面要加个F
    double num6=3.14159265659535215253;

    //字符类型
    char name='A';

    //字符串 String不是关键字,类
    String name1="中国";

    //布尔值:是非
    boolean flag=true;
    //boolean flag=false;

引用类型

接口
数组

什么是字节

位bit:是计算机内部数据存储的最小单位

字节byte:是计算机中数据处理的基本单位,习惯上用B表示

1B(byte,字节)=8bit(位)

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

1bit表示1位

1byte 一个字节 1B=8bit

1024B=1KB

1024KB=1M

1024M=1G

拓展

public class Demo03 {
    public static void main(String[] args) {
        // 整数拓展: 进制     二进制0b     十进制        八进制0     十六进制0x

        int i=10;
        int i2=010;//八进制0
        int i3=0x21;//十六进制0x    0~9  A~F 11~15
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);

        System.out.println("======================================================================================================================");

        //====================================================================================
        //浮点数拓展:    银行业务怎么表示? 钱
        //BigDecimal      数学工具类

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

        float f=0.1f; //0.1
        double d=1.0/10; //0.1
        System.out.println(f==d); //false
        System.out.println(f);
        System.out.println(d);
        float d1=26515135513151135135f;
        float d2=d1+1;
        System.out.println(d1==d2);//true

        //=====================================================================================================
        //字符串拓展
        //=====================================================================================================
        char c1='a';
        char c2='中';
        System.out.println("======================================================================================================================");
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);//强制转换

        //所有的字符本质还是数字
        //编码 Unicode表: (97=a  65=A)  2字节  65536长度
        //  U0000  UFFFF

        char c3='\u0061';//十六进制 97 a
        System.out.println(c3);

        //转义字符
        // \t  水平制表符   中间多个 tab 空格
        // \n  换行
        //...

        System.out.println("Hello\tWorld");
    }
}

/t 水平制表符 上文代码效果 Hello World

String sa=new String("hello world");
String sb=new String("hello world");
System.out.println(sa==sb);// 不相等

String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);//相等
//对象 从内存分析
//布尔值拓展
Boolean flag=true;
if (flag==true){}//新手
if (flag){}//老手
// Less is more 代码要精简易读

类型转换

运算中,不同类型的数据要先转化为同一类型,然后在计算

强制类型转换

自动转换

int i=128;
byte b=(byte) i;//内存溢出
//强制转换  (类型)变量名  高--低
//自动转换    低--高
System.out.println(i);
System.out.println(b);

int j=126;
double b1=j;
System.out.println(j);
System.out.println(b1);

/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
 */
System.out.println("===========================");
System.out.println((int) 23.7);//23
System.out.println((int) -45.89f);//-45
System.out.println("===========================");
char c='a';
int d=c+1;
System.out.println(d);
System.out.println((char)d);

操作比较大的数 注意溢出问题

public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数 注意溢出问题
        //JDK7 数字之间可以用下划线分割
        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);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值