Java Class02

Class02

1.自动类型值转换
隐式类型转换
显式类型转换

隐式类型转换(自动类型转换)

隐式类型转换是小范围向大范围转换
在这里插入图片描述
实际上小范围包含在大范围内
在这里插入图片描述

整数类型的默认类型为int
浮点数类型的默认类型为double

显式类型转换(强制类型转换)

将大范围手动操作放到小范围的过程在这里插入图片描述
数据溢出
大范围的数据转换成小范围的数据,就如同大水缸里面的水到入小水缸中,很容易将水灌满小水缸将剩下的水撒出来,这时候就发生了数据溢出。

在这里插入图片描述

//long类型强制转换成int类型,发生数据丢失
        int num2=(int)123456789L;
        System.out.println(num2);


精度丢失
将整数类型转换成浮点数类型时,常常只会取整数部分,而丢失的小数部分的情况就叫精度丢失

 //浮点数类型强制转换成int类型,发生精度损失
        int num3=(int)1.23456;
        System.out.println(num3);

byte,short类型在计算过程中会自动转换成int类型

byte num4=40;
        byte num5=50;
        //byte+byte==>int+int==>int
        int result=num4+num5;
        System.out.println(result);

char类型也可以用于计算

 char zifu='a';
        //char字符可以进行数据运算
        System.out.println(zifu+1);

2.编码表

ASCII表:美国信息交换标准代码(0~127)

Unicode表:万国码(全)

public class Demo03DataTypeChar {
    public static void main(String[] args) {
        char zifu1='0';
        System.out.println(zifu1+0);//打印输出48

        char zifu2='A';
        char zifu3='a';
        int num=zifu3;
        System.out.println(num);//打印输出97

        char zifu4='中';
        System.out.println(zifu4+0);//打印输出20013
    }
}

3.运算符与表达式

运算符:进行运算的符号
表达式:用运算符连接的式子

四则运算符

+, -, *, /, 取模(%)

public class Demo05Plus {
    public static void main(String[] args) {
        String str1="Hello";//定义字符串
        System.out.println(str1);//打印输出Hello
        // + 起连接作用
        System.out.println("Hello"+"World");//打印输出HelloWorld

        String str2="Java";
        System.out.println(str2+20);//打印输出Java20
        System.out.println(str2+20+30);//打印输出Java2030
        System.out.println(str2+(20+30));//打印输出Java50
    }
}

自增自减运算符

++, –
单独使用:前增和后增 / 前减和后减没区别

 int num1=10;
        System.out.println(num1);//输出10
        num1++;//后++
        System.out.println(num1);//输出11
        ++num1;//前++
        System.out.println(num1);//输出12

混合使用:前增/减 在输出的时候直接改变原值,而后增/减则是先直接输出值,然后才改变值的大小

 int num2=10;
        System.out.println(++num2);//输出11
        System.out.println(num2);//输出11

        int num3=10;
        System.out.println(num3++);//输出10
        System.out.println(num3);//输出11

        int num4=40;
        int result1=--num4;//
        System.out.println(result1);//输出39
        System.out.println(num4);//输出39

        int num5=50;
        int result2=num5--;
        System.out.println(result2);//输出40
        System.out.println(num5);//输出39

        int x=10;
        int y=20;
        int result3=++x+y--;
        System.out.println(result3);//输出31
        System.out.println(x);//输出11
        System.out.println(y);//输出19

赋值运算符

=
基本赋值运算符:
复合赋值运算符:

public class Demo07Operator {
    public static void main(String[] args) {
        int a=10;//实例化变量
        a+=5;//a=a+5
        System.out.println(a);//输出15

        int x=10;//实例化变量
        x%=3;//x=x%3
        System.out.println(x);//输出1

        byte num=30;//实例化变量
        num+=5;//num=num+5
        System.out.println(num);//输出35
    }
}

比较运算符

public class Demo08Operator {
    public static void main(String[] args) {
        System.out.println(10>5);//输出true
        int num1=10;
        int num2=20;
        System.out.println(num1<num2);//输出true
        System.out.println(num2>=100);//输出false
        System.out.println(num2<=100);//输出true
        System.out.println(num2<=12);//输出true

        System.out.println(10==10);//输出true
        System.out.println(20!=25);//输出true
        System.out.println(20!=20);//输出false

        int x=2;
        //System.out.println(1<x<2);不能连写,编译报错
    }
}

逻辑运算符
||:逻辑或
&&:逻辑与
!:非

  System.out.println(true&&false);//输出false
        System.out.println(3<4&&10>5);//输出true

        System.out.println(true||false);//输出true
        System.out.println(true||true);//输出true
        System.out.println(false||false);//输出false

        System.out.println(true);//输出true
        System.out.println(!true);//输出fasle

||和&&具有短路效果,如果左边的代码执行完已经可以判断结果,将不会执行右边的代码了,有助于节省性能。

 int a=10;
        System.out.println(3>4&&++a<100);//输出false
        System.out.println(a);//输出10

        int b=20;
        System.out.println(3<4||++b<100);//输出true
        System.out.println(b);//输出20

三元运算符

变量名称=条件判断?表达式1:表达式2

4.方法

public static void 方法名称() {
	方法体
}

注意:
1.方法定义先后顺序无所谓
2.方法之间不能嵌套
3.方法的执行需要调用

public class Demo11Method {
    //农民
    public static void farmer(){
        System.out.println("播种");
        System.out.println("浇水");
        System.out.println("施肥");
        System.out.println("除虫");
        System.out.println("收割");
        System.out.println("卖给小商贩");
    }
    //小商贩
    public static void seller(){
        System.out.println("运输到农贸市场");
        System.out.println("抬高价格");
        System.out.println("卖给厨子");
    }
    //厨子
    public static void cook(){
        System.out.println("洗菜");
        System.out.println("切菜");
        System.out.println("炒菜");
        System.out.println("装盘");
    }
    //我
    public static void me(){
        System.out.println("吃");
    }
    public static void main(String[] args) {
        farmer();
        seller();
        cook();
        me();
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值