博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
廖雪峰Java1-2Java程序基础-2变量和数据类型
阅读量:4568 次
发布时间:2019-06-08

本文共 2932 字,大约阅读时间需要 9 分钟。

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位,2^7~2^7-1即128~127
short占用2个字节,16位,2^15~2^1-1即-32768~32767
int占用4个字节,32位,2^32~2^32-1,二进制 int i2 = 0b10000 16进制 int j16 = 0xff0000 2147483648
long占用8个字节,64位,2^64~2^64-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+"\n"+s+"\n"+i+"\n"+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));    }}

1418970-20190108224446319-198652717.png

转载于:https://www.cnblogs.com/csj2018/p/10238973.html

你可能感兴趣的文章
在 OC 中调用 Swift 代码
查看>>
Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
查看>>
安卓|五大逆向软件下载
查看>>
5 OK6410裸机调试(不用Jlink)
查看>>
“模板”学习笔记(5)-----编译器在处理函数模板的时候都干了啥
查看>>
教你用shell写CGI程序
查看>>
窗口 对话框 Pop Dialog 示例
查看>>
ubuntu(centos) server安装vmware tools
查看>>
数据结构之最大不重复串
查看>>
为什么要配置sdk-tools/platform-toools?
查看>>
自己动手开发更好用的markdown编辑器-07(扩展语法)
查看>>
maven dependency:tree中反斜杠的含义
查看>>
队列的循环队列
查看>>
程序中的日期格式
查看>>
大众点评CAT错误总结以及解决思路
查看>>
从0开始学爬虫3之xpath的介绍和使用
查看>>
Shell成长之路
查看>>
vim下正则表达式的非贪婪匹配
查看>>
一个python的计算熵(entropy)的函数
查看>>
spring源码学习——spring整体架构和设计理念
查看>>