Java基础1

数据类型

Java语言数据类型的分类

  • 基本数据类型

  • 引用数据类型(面向对象的时候再深入学习)

基本数据类型的四类八种

数据类型关键字内存占用取值范围
整数byte1负的2的7次方 ~ 2的7次方-1(-128~127)
short2负的2的15次方 ~ 2的15次方-1(-32768~32767)
int4负的2的31次方 ~ 2的31次方-1
long8负的2的63次方 ~ 2的63次方-1
浮点数float41.401298e-45 ~ 3.402823e+38
double84.9000000e-324 ~ 1.797693e+308
字符char20-65535
布尔boolean1true,false
说明

e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。

在java中整数默认是int类型,浮点数默认是double类型。

需要记忆以下几点

byte类型的取值范围:

-128 ~ 127

int类型的大概取值范围:

-21亿多 ~ 21亿多

整数类型和小数类型的取值范围大小关系:

double > float > long > int > short > byte

最为常用的数据类型选择:

  • 在定义变量的时候,要根据实际的情况来选择不同类型的变量。

    比如:人的年龄,可以选择byte类型。

    比如:地球的年龄,可以选择long类型。

  • 如果整数类型中,不太确定范围,那么默认使用int类型。

  • 如果小数类型中,不太确定范围,那么默认使用double类型。

  • 如果要定义字符类型的变量,那么使用char

  • 如果要定义布尔类型的变量,那么使用boolean

定义8种基本数据类型变量

public class VariableDemo3{
    public static void main(String[] args){
        //1.定义byte类型的变量
        //数据类型 变量名 = 数据值;
        byte a = 10;
        System.out.println(a);
​
        //2.定义short类型的变量
        short b = 20;
        System.out.println(b);
​
        //3.定义int类型的变量
        int c = 30;
        System.out.println(c);
​
        //4.定义long类型的变量
        long d = 123456789123456789L;
        System.out.println(d);
​
        //5.定义float类型的变量
        float e = 10.1F;
        System.out.println(e);
​
        //6.定义double类型的变量
        double f = 20.3;
        System.out.println(f);
​
        //7.定义char类型的变量
        char g = 'a';
        System.out.println(g);
​
        //8.定义boolean类型的变量
        boolean h = true;
        System.out.println(h);
​
    }
}
注意点

取值范围从小到大的关系:

byte short int long float double

  • 如果要定义 一个整数类型的变量,不知道选择哪种数据类型了,默认使用int。

  • 如果要定义 一个小数类型的变量,不知道选择哪种数据类型了,默认使用double。

  • 如果要定义一个long类型的变量,那么在数据值的后面需要加上L后缀。(大小写都可以,建议大写。)

  • 如果要定义一个float类型的变量,那么在数据值的后面需要加上F后缀。(大小写都可以)

  • 运算符和表达式

    运算符:

    就是对常量或者变量进行操作的符号。

    比如: + - * /

    表达式:

    用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。

    比如:a + b 这个整体就是表达式。

    而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式。

    算术运算符

    分类:

    + - * / %

    运算特点:

    + - * :跟小学数学中一模一样没有任何区别.
    /:
    1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。
    2.小数直接参与运算,得到的结果有可能是不精确的。
    案例:
    System.out.println( 10 / 3);//3
    System.out.println(10.0 / 3);//3.3333333333333335
    %:取模、取余。
       他做的也是除法运算,只不过获取的是余数而已。
    案例:
    System.out.println(10 % 2);//0
    System.out.println(10 % 3);//1
    应用场景:
    //可以利用取模来判断一个数是奇数还是偶数
    System.out.println(15 % 2);//1  奇数

    练习:数值拆分

    需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台

    代码示例:

    //1.键盘录入一个三位数
    //导包 --- 创建对象 --- 接收数据
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个三位数");
    int number = sc.nextInt();//123
    ​
    //2.获取这个三位数的个位、十位、百位并打印出来
    //公式:
    //针对于任意的一个数而言
    //个位: 数字 % 10
    int ones = number % 10;
    //十位: 数字 / 10 % 10
    int tens = number / 10 % 10;
    //百位: 数字 / 100 % 10
    int hundreds = number / 100  % 10;
    ​
    //输出结果
    System.out.println(ones);
    System.out.println(tens);
    System.out.println(hundreds);

    公式:

    获取任意一个数上每一位数。

    个位:数字 % 10

    十位:数字 / 10 % 10

    百位:数字 / 100 % 10

    千位:数字 / 1000 % 10

    。。。以此类推。。。

    3.隐式转换

    概念:

    也叫自动类型提升。

    就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。

    简单记忆:

    就是小的给大的,可以直接给。

    两种提升规则:

  • 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

  • byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值