IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 预学Java day05 -> 正文阅读

[Java知识库]预学Java day05

标识符和关键字

java所有的组成部分都需要名字。类名,变量名一级方法名都被称为标识符。

  • 所有的标识符都应该以字母(A——Z或者a——z),美元符($),下划线(_)开始

  • 首字符之后可以是(A——Z或者a——z),美元符($),下划线(_)或数字的任何字符组合

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

  • 标识符是大小写敏感

  • 合法标识符举例:age,$salary,_value

  • 非法表示符举例:123abc,-salary,#abc

public static void main(String[] agrs){
 ? ?String 王者荣耀 = "最强王者"
 ? ?System.out.println(王者荣耀);
}
  • 可以使用中文命名,但是一般不建议这样去使用,很不建议使用拼音,很low~~

关键字

java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能做用变量名,方法名,类名包名和参数。Java的关键字是对Java编译器有特殊含义的字符串,事变后一起和程序员的一个约定,程序换利用关键字来告诉编译器起声明变量类型,类,方法特性等信息。

常用的关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returmstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

数据类型

  • 强数据类型

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

优点:安全性高

缺点:速度慢

  • 弱数据类型

  • Java的数据类型分为两大类

    • 基本类型(primitive type)

    • 引用类型(reference type)

?

八大基本类型

?
public class Demo01 {
?
    public static void main(String[] args) {
        //  八大基本类型
        
        //整数
        int num1 = 10;      //最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;    //Long类型要在数字后面加L
        
        //小数:浮点数
        float num5 = 50.1F;     //float类型要在数字后面价格F
        double num6 = 3.141592653589793238462643;
        
        //字符类型
        char name = 'A';
        
        //字符串,String不是关键字,String是类
        String nameA = "中国";
?
        
        //布尔值
        boolean flag = true;
        //boolean flag = false;
    }
?
}
?

扩展数据类型

package demo;
?
public class Demo02 {
?
    public static void main(String[] args) {
        // 整数拓展:        进制      二进制0b   十进制     八进制0        十六进制0x
        int i = 10;
        int i2 = 010;       //八进制0
        int i3 = 0x10;      //十六进制0x        0~9 ? A~F ? 16
        System.out.println(i);
        System.out.println(i2);     //8
        System.out.println(i3);     //16
        System.out.println("=====================================");
        
        //=============================================
        //浮点数拓展:银行业务怎么表示?钱
        //BigDecimal        数学工具类
        //=============================================
        //float     有限  离散  舍入误差        大约  接近但是不等于
        //doube
        
        //最好完全使用浮点数经行比较
        //最好完全使用浮点数经行比较
        //最好完全使用浮点数经行比较
        
        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);
        
        System.out.println("================================");
        float d1 = 232323223f;
        float d2 = d1 + 1;
        System.out.println(d1 == d2);
        
        //=============================================
        //字符拓展
        //=============================================
        System.out.println("================================");
        char c1 = 'a';
        char c2 = '中';
        
        System.out.println(c1);
        System.out.println((int)c1);    //      强制转换
        System.out.println(c2);
        System.out.println((int)c2);    //      强制转换
        
        //所有字符的本质还是数字
        //编码        Unicode     2字节         65536个字符            Excel早期只有2的十六次方的表格,2的16次方就是65536
        //Uncode可以处理各种语言的文字,Uncode是使用表格思想表示用数字对应字符:如97 = a,65 = A
        //格式:U0000      UFFFF
        
        char c3 = '\u0061';
        System.out.println(c3);     //a
        
        //转义字符
        //      \t      制表符
        //      \n      换行
        //......
        
        System.out.println("================================");
        String sa = new String("hello");
        String sb = new String("hello");
        System.out.println(sa == sb);
        String sc = "hello";
        String sd = "hello";
        System.out.println(sc == sd);
        //对象        从内存分析
        
        //布尔值扩展
        boolean flag = true;
        if(flag) {}     //新手
        if(flag == true) {}     //老手
        //Less is more      代码需要精简易读
        
    }
?
}
?

类型转换

由于java是强类型语言,所以要警醒有些运算的时候,需要用到类型转换。

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

低---------------------------------------------------------->高

小数的优先级最高

运算中,不同类型的数据先转化为同一类型,然后再进行运算。

强制转换

数据占用内存的大小,从高(占用内存)到低(占用内存)需要强制转换

package demo;
?
public class Demo03 {
?
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;       //强制转换
        
        //强制转换:     (类型)变量名
        
        System.out.println(i);
        System.out.println(b);      //-128, 内存溢出
 ? ? ? ?//要避免内存溢出
 ? ? ? ?
 ? ? ? ?
?
    }
?
}

自动转换

数据占用内存的大小,从低(占用内存)到高(占用内存)会自动转换

package demo;
?
public class Demo03 {
?
    public static void main(String[] args) {
?
        //自动转换:     从低到高
        int a = 123;
        double c = a;
        System.out.println(a);  //123
        System.out.println(c);  //123.0
 ? ? ? ?
 ? ? ? ?char d = 'a';
        int e = d+1;        //自动转换
        System.out.println(e);      //98
        System.out.println((char)e);    //b
 ? ? ? ?//字符可以转换为数字,数字可以转换为字符
?
    }
?
}
?

注意点:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 把高容量转换到低容量的时候,强制转换

  4. 转换的时候可能存在内存溢出,或者精度问题!

溢出问题

package demo;
?
public class Demo04 {
?
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7的新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;
        System.out.println(money);  //1000000000
        System.out.println(total);      //内存溢出
        
        long total2 = money*years;      //数据转换
        System.out.println(total2);     //内存溢出,原意是默认是int,再转换之前就出现了问题
        
        long total3 = money*((long)years);      //先把一个数转换为long类型
        System.out.println(total3); //内存没溢出,属于正常
?
    }
?
}

狂神说java

P22到P25

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:30:32  更:2021-10-02 14:33:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:21:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码