Java学习历程一《数据类型,变量,常量》

数据类型和变量定义

  • 基本数据类型
    • 数值
      • 整数 byte short int long
      • 浮点 float double
    • 字符 char
    • 布尔 boolean
  • 引用数据类型
    • 类class
    • 接口interface
    • 数组array

各个数值类型占用的空间

数据类型说明字节
byte字节1
short短整形2
int整形4
long长整形4
float单精度浮点4
double双精度浮点8
boolean布尔型1

Java中表示数字的方法:

  • 十进制
  • 八进制
    • 0开头,包含0-7
  • 十六进制
    • 0X或者0x开头,包含0-9,A-F或者a-f

声明变量的格式:

  • int n; 声明一个n,类型是整形
  • long count; 声明一个count,类型是长整形

浮点型变量默认表示double类型,可在其末尾加d或者D表示

  • 123.43d或者123.43D

如果表示单精度浮点类型:123.4f,123.3F

public class FloatDemo {
    public static void main(String[] args) {
        //定义一个单精度浮点变量,存放1234.345
        float f = 1234.3f;
        //定义双精度表示1234.456
        double d = 1234.345d;
        System.out.println("f=" + f);
        System.out.println("d=" + d);
    }
}

变量的作用范围:

  • 类级别
  • 对象实例级别
  • 方法级别
    • 局部变量(定义在方法内)
  • 块级别

内存分区域:

    • 方法中定义的变量是在栈中储存的
  • 常量池

定义字符类型的变量:

字符类型的变量是单引号引起来的单个字符

‘a’ ‘b’ ‘$’ …

char a = ‘a’

char a = 65; 表示a = ‘A’

ASCII码可用来表示字符

  • 7位二进制数字组合 – 标准ASCII
  • 8位二进制数字组合 – 扩展ASCII

char类型是用2字节表示16位 0-65535<无负数>如果使用数字表示字符,那么不能
超出这个范围,否则需要使用强制类型转换{转换会引起数据的丢失}

public class VarDemo {
    public static void main(String[] args) {
        //定义两个整形变量<相同数据类型的>
        int x = 0, y = 0;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        //关于换行
        System.out.print(x + " " + y + '\n');
//        System.out.println();//本身携带换行功能
        System.out.print(x + "," + y);
        //定义汉字字符
        char cn = '哈';
        System.out.println(cn);
        //可以使用中文作为变量名,当时编码问题不建议使用
        //用可科学计数法表示浮点类型的数字
        double d = 1.23E5d; // 代表1.23 x 10的5次方
        float f = 1.23e5f;
        double d1 = .2; //表示的0.3
        System.out.println("d=" + d);
        System.out.println("f=" + f);
        System.out.println("d1=" + d1);
    }
}

Unicode编码

char c = ‘\u005d’; 在值(十六进制数)的前面加上\u来表示

public class UnicodeDemo {
    public static void main(String[] args) {
        char a = '\u005d';
        System.out.println("a=" + a);
    }
}

布尔类型的字面值 字面值<常量的一种>

  • true
  • false

在Java中布尔类型不能是0 or 1

定义方式: boolean b = true;

字符串的字面值

本身不属于基本数据类型,表示方式是用双引号引起来的0or多个字符.定义
方式:String a = “”;

public class StringDemo {
    public static void main(String[] args) {
        //定义字符串类型
        String s1 = "";
        System.out.println("s1=" + s1);
        String s2 = "hello";
        System.out.println("s2=" + s2);
        String s3 = "\u005d\u005f";
        System.out.println("s3=" + s3);
        //定义一个包含空格的字符串
        String s4 = "Hello Word!";
        System.out.println("s4="+s4);
    }
}

常见的转义字符:

转义字符描述
\uxxxx四位十六进制数所表示的字符
\’单引号字符
\"双引号字符
\\反斜杠字符
\r回车
\n换行
\t横向跳格
\b发\退格

数据类型的转换

  • 自动类型转换
  • 强制类型转换

自动类型的转换:

隐式转换,小范围的数据可以转换为大范围的数据

byte -> short -> int -> long

char -> int

int -> double

int -> float<可能产生数据丢失>

long -> float<可能产生数据丢失>

long -> double<可能产生数据丢失>

float -> double

按照箭头方向的转换都是自动(隐式)转换,如果反方向转换就是强制转换

强制类型的转换

double d = 123.4d;
float f = (float)d;

强制转换就是将转换后的类型在被转换的变量前用()括起来

public class TypeExchange {
    public static void main(String[] args) {
        //char类型和int类型之间的转换
        char c = (char)65536;
        int n;
        n = c; // 隐式转换 char->int
        c = (char) n; // int->char 强制类型的转换

        //整形浮点性之间的转换
        int x = 100;
        long y = x; //int->long隐式转换
        x = (int)y; //long->int强制类型转换
        float f = 1000000000000L;//log->float隐式转换
        System.out.println("f="+f);
        float f1 = 10000039484L; //会发生数据丢失
        System.out.println("f1="+f1);

    }
}

变量和常量

变量和常量的定义方式是不同的

int n = 100;//定义n为int变量
final int M = 1000;//定义m为int常量

变量定义之后是可以通过赋值等方式更改的,但是常量定义
之后就不可以更改.

注意:一般常量使用全大写表示,多个单词的时候中间使用下划线连接

public class FinalDemo {
    public static void main(String[] args) {
        //
        int m = 5;
        final int N = 6;
        final double PI = 3.14;
        final int MIN_VALUE = 0;
        m = 10;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值