• 廖雪峰Java1-2Java程序基础-2变量和数据类型


    1.变量

    • 变量是可以持有某个基本类型的数值,或者指向某个对象。
    • 变量必须先定义后使用
    • 定义: 变量类型 变量名 = 初始值;

    2.java基本数据类型

    整数类型:long int short byte
    浮点类型:double float
    布尔类型:boolean
    字符类型:char
    计算机内存的最小存储单元是字节byte
    一个字节是8位二进制数:00000000-11111111(0-255)
    内存单元从0开始编号,称为内存地址
    1K=1024字节,1M=1024K,1G=1024M,1T= 1024G
    Java的byte和计算机的byte是对应的。Java分正负数

    |数据类型
    byte占用1个字节,8位,27~27-1即128~127
    short占用2个字节,16位,215~21-1即-32768~32767
    int占用4个字节,32位,232~232-1,二进制 int i2 = 0b10000 16进制 int j16 = 0xff0000 2147483648
    long占用8个字节,64位,264~264-1,long类型数字加L,如long l = 9000000000000L
    float占用4个字节,32位,float f1 = 3.14f; float f2 = 3.14e38f;
    double占用8个字节,64位double d = -1.79e308; double d1 = 4.9e-324;
    boolean只有true和false2个值
    char字符类型:保存一个字符,用单引号表示char c1 = 'A'; char c2 = '中';

    public class Hello {
        public static void main(String[] args){
            byte b = 127;//-128 ~ 127
            short s = 32767; //-32768 ~ 32767
            int i = 2147483647;//-2147483648 ~ 2147483647
            long l = 9223372036854775807L;//-9223372036854775808 ~ 9223372036854775807
            System.out.println(b+"
    "+s+"
    "+i+"
    "+l);
            int i3 = 2_000_000_000;//8以上才支持
            int i4 = 0xff0000;//十六进制表示的数值
            int i5 = 0b10000000;//二进制表示的数值
            System.out.println(Integer.toHexString(16));
            System.out.println(Integer.toBinaryString(10));
        }
    }
    

    3.常量

    常量就是用final修饰的变量

    • 变量初始化后不可再次赋值
    • 常量名通常全部大写
    • 常量用来避免意外赋值
    • 常量用来代替Magic Number 如税率TAX = 0.2;每次使用tax,易读性更好。
            final double PI = 3.14;
            PI = 5;//cannot assign a value to final variable 'PI'
    

    总结

    • Java提供了两种变量类型:基本类型和引用类型
    • 基本类型:整型、布尔型、浮点型、字符型
    • 变量可重新赋值,等号是赋值语句,不是数学意义的等号
    • 常量在初始化后不可重新赋值
    • 使用常量便于理解程序意图

    追加:各进制之间的转换

    
    public class Hello {
    
    	public static void main(String[] args) {
    		/*
    		 * 12,012,a,0xa解析:%o和%x是将十进制数10按八进制和十六进制输出,而%号后面的‘#’的作用是完整呈现所有数值位数。显示八进制时,在数值前会加上数字0.显示十六进制时,会在数值前加上0x。如果配合%f、%e等浮点格式化字符时,即使所设置的数值不含小数部分,也会包含小数点。
    		 */
    		//把字符串转化为10进制数字
    		System.out.println("Integer.parseInt("10"):"+Integer.parseInt("10"));
            //把10进制转为2进制,8进制,16进制
            System.out.println("Integer.toBinaryString(10):"+Integer.toBinaryString(10));
            System.out.println("Integer.toOctalString(10):"+Integer.toOctalString(10));
            System.out.println("Integer.toHexString(10):"+Integer.toHexString(10) );
            //把字符串转化为10进制,2进制、8进制、16进制
            System.out.println("Integer.parseInt("10",10):"+Integer.parseInt("10",10));
            System.out.println("Integer.parseInt("10",2):"+Integer.parseInt("10",2));
            System.out.println("Integer.parseInt("10",8):"+Integer.parseInt("10",8));
            System.out.println("Integer.parseInt("10",16)):"+Integer.parseInt("10",16));
            System.out.println();
            System.out.println("把10进制,输出为8,16进制到字符串,而且可以控制输出形式:");
            String s;
            System.out.println(s = String.format("%d", 10));
            System.out.println(s = String.format("%o, %#o, %#4o, %#04o", 10, 10, 10, 10));
            System.out.println(s = String.format("%x, %#x, %#4x, %#04x", 10, 10, 10, 10));
    
    	}
    
    }
    
  • 相关阅读:
    VisualSVN-Server windows 版安装时报错 "Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details."
    Pytest 单元测试框架之初始化和清除环境
    Pytest 单元测试框架入门
    Python(email 邮件收发)
    Python(minidom 模块)
    Python(csv 模块)
    禅道简介
    2020年最好的WooCommerce主题
    Shopify网上开店教程(2020版)
    WooCommerce VS Magento 2020:哪个跨境电商自建站软件更好?
  • 原文地址:https://www.cnblogs.com/csj2018/p/10238973.html
Copyright © 2020-2023  润新知