栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-10-23Java入门3

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-23Java入门3

Java基础 一. 注释
  • 单行注释
  • 多行注释
  • 文档注释
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
      
        //输出 ----单行注释
        

        //文档注释
        
    }
}
二. 标识符 定义

类名、变量名、方法名都被称为标识符

注意点
  1. 所有标识符都以字母、美元符、下划线开始
  2. 不能使用关键字作为变量名、或方法名
  3. 大小写敏感
三.数据类型
  • 强类型语言:要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用(安全性高、速度慢)
  • 弱类型语言
数据类型
  • 基本类型(primitive type)
    • 数值类型
      • 整数类型
        • byte 占1个字节 范围:-128-127
        • Short 占2个字节 范围:-32768-32767
        • Int 占4个字节 范围:-214783648-214783647
        • Long 占8个字节
      • 浮点类型
        • float 占4个字节
        • double 占8个字节
      • 字符类型
        • Char 占2个字节
    • Boolean 类型 占1位
  • 引用类型(reference type)
    • 接口
    • 数组
什么是字节
  • 位(bit):是计算机中 内部数据储存的最小单位,11001100是一个八位的二进制数
  • 字节(byte):是计算机中 数据处理的基本单位,习惯上用大写B来表示
  • 1B(字节) = 8 bit(位)
  • 字符:是指计算机中使用的字母、数字、字和符号
- 1bit = 1位
- 1byte= 8b
- 1024B = 1KB
- 1024KB = 1M
- 1024M = 1G
拓展
public class Demo01 {
    public static void main(String[] args) {
        //整数拓展: 进制  二进制0b  十进制 八进制0 十六进制0x
        int i = 10;
        int i2 = 010;       //8进制
        int i3 = 0x10;      //16进制  0-9 A-F 16
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("-------");

        //浮点数拓展:银行业务怎么表示钱? - >  Bigdecimal 类
        //float 字长有限    离散  舍入误差  大约  接近但不等于    最好完全使用浮点数进行比较
        //double
        float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d);
        System.out.println(f);
        System.out.println(d);

        float d1 = 23131312312312313f;
        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 表:97=a 65=A 2字节 65536   Excel   2^16=65536
        //U0000 - UFFFF
        char c3 = 'u0061';
        System.out.println(c3);

        //转义字符
        //t    制表符
        //n    换行
        System.out.println("HellotWorld");
        System.out.println("-------");

        //对象 - 内存分析
        String sa = new String("hi");
        String sb = new String("hi");
        System.out.println(sa == sb);

        String sc = "hi";
        String sd = "hi";
        System.out.println(sc == sd);

        //布尔值拓展
        boolean flag = true;
        if(flag == true){ }
        if(flag){}
    }
}

结果:
10
8
16
-------
false
0.1
0.1
true
-------
a
97
中
20013
a
Hello	World
-------
false
true
  • char 在Java 中是和 Unicode编码 形成一一对应的映射来存储的,而采取的编码方式则为 UTF-16
ASCII码

在计算机种中,1 字节对应 8 位二进制数,而每位二进制数有 0、1 两种状态,因此 1 字节可以组合出 256 种状态。如果这 256 中状态每一个都对应一个符号,就能通过 1 字节的数据表示 256 个字符。美国人于是就制定了一套编码(其实就是个字典),描述英语中的字符和这 8 位二进制数的对应关系,这被称为 ASCII 码。

ASCII 码一共定义了 128 个字符,例如大写的字母 A 是 65(这是十进制数,对应二进制是0100 0001)。这 128 个字符只使用了 8 位二进制数中的后面 7 位,最前面的一位统一规定为 0。
四.类型转换 转换说明
  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
    低----------------------------------->高
    byte, short,char - >int ->long ->float - > double (小数优先级大于整数)
  • 运行中,不同类型的数据显转换为同一类型,在进行运算
  • 强制类型转换
  • 自动类型转换
public class Demo02 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;   //byte8位127,128会导致内存溢出
        //强制转换(类型)变量名   高- 低
        System.out.println(i);
        System.out.println(b);

        
        //精度问题
        System.out.println("------------------");
        System.out.println((int)23.7);
        System.out.println((int)-45.89f);

        //自动转换  低 - 高
        System.out.println("------------------");
        char c = 'a';
        int d = c +1;
        System.out.println(d);
        System.out.println((char)d);
    }
}

结果集:
128
-128
------------------
23
-45
------------------
98
b
常见问题

计算时若知道会出现内存溢出,则先进行转换,再进行计算

private static void usualproblem() {
        System.out.println("===============常见问题=================");

        //操作比较大的数时,注意溢出问题
        //JDK7新特性:数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int sum = money * years;
        System.out.println(sum);    //计算溢出了
        long sum2 = money * years;
        System.out.println(sum2);   //默认是int,转换long前已经有问题了

        long sum3 = money *((long)years);   //先把一个数转换为long
        System.out.println(sum3);
        //L l   大小写敏感
    }

结果集:
  ===============常见问题=================
-1474836480
-1474836480
20000000000
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344841.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号