Java学习day04

本文概述了Java中的类型转换,包括强制和自动转换规则,以及如何处理溢出和精度问题。还介绍了变量、常量的概念,以及不同作用域的定义。后续内容涉及基本运算符、自增自减、Math类,以及逻辑与位运算符的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

狂神说Java

Java基础05:类型转换

运算中,不同类型的数据先转化为同一类型,然后进行运算。

强制类型转换:
(类型)变量名 高-低

		int i = 128;
        byte b = (byte)i;//内存溢出

自动类型转换:
低–高

注意点:
1、不能对布尔值进行转换
2、不能把对象类型转换为不相干的类型
3、在把高容量转换到低容量的时候,强制转换
4、转换的时候可能存在内存溢出、或者精度问题

操作比较大的数的时候,注意溢出问题
JDK7新特性,数字之间可以用下划线分割

		int money = 10_0000_0000;

Java基础06:变量、常量、作用域

变量:
可以变化的量
每个变量都必须声明类型

作用域:

  • 类变量
  • 实例变量
  • 局部变量
public class Demo08 {
    //属性:变量

    //类变量 static
    static  double slary = 2500;

    //实例变量:从属于对象;如果不进行初始化,会设置为这个类型的默认值
    //布尔值:默认是false
    //除了基本类型,其余的都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量,必须声明和初始化值
        int i = 10;
        System.out.println(i);

        //变量类型 变量名字 = new Demo08();
        Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);
        System.out.println(demo08.name);

        //类变量 static
        System.out.println(slary);
    }

    //其他方法
    public void add()
    {

    }
}

常量:

public class Demo09 {
    //修饰符,不存在先后顺序
    static  final  double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范:

  • 见名知意
  • 类成员变量和局部变量:首字母小写和驼峰原则:monthSalary
  • 常量:大写字母和下划线
  • 类名:首字母大写和驼峰原则
  • 方法名:首字母小写和驼峰原则

Java基础07:基本运算符
在这里插入图片描述

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //ctrl + D: 复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 123123123123123L;
        int b = 123;
        short c = 10;
        byte d = 8;
        System.out.println(a+b+c+d);//Long
        System.out.println(b+c+d);//Int
        System.out.println(c+d);//Int


    }
}

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确,错误
        int a = 10;
        int b = 20;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

    }
}

Java基础08:自增自减运算符、初识Math类

package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++ -- 自增,自减 一元运算符
        int a = 3;
        int b = a++;//执行完这行代码后,先给b赋值,再自增
        int c = ++a;//执行完这行代码前,先给c赋值,再自增
        System.out.println(a);
        System.out.println(a);
        System.out.println(b);
        System.out.println(b);
        System.out.println(c);
         //幂运算
        double pow = Math.pow(2,3);
        System.out.println(pow);

    }
}

很多运算,我们会使用一些工具类来操作

Java基础09:逻辑运算符、位运算符

package operator;

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println(a && b);
        System.out.println(a || b);
        System.out.println(! (a && b));

        //短路运算
        int c = 5;
        boolean d = (c < 4)&&(c++ < 4);
        System.out.println(d);
        System.out.println(c);
    }

}

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B = 1111 0010
        
        << *2
        >> /2
         */
        
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值