Java

2019-11-19  本文已影响0人  瘦不下去了

一、HelloWorld

注意事项

//第一行的第三个单词必须和所在的文件名称完全一样,大小写也一样
//public class后面代表定义一个类的名称,类是java当中所有源代码的基本组织单位
public class HelloWorld {
    //第二行的内容是万年不变的固定写法,代表main写法
    //这一行代表程序执行的起点
    public static void main(String[] args){
        //第三行代表打印输出语句
        System.out.println("Hello World");
    }
}
1、注释

单行注释://(Ctrl+/) (python:#)
多行(区块)注释:/* */ (python:''' ''',单引号)

2、常量(程序运行期间固定不变的量)

字符串常量:" "双引号,里面不限数量;
字符常量:' '单引号,里面只有一个字符;
空常量:null。代表没有任何数据;
布尔常量:true,flase
字符常量,即单引号之间必须有且只能有一个字符;空常量无法打印;布尔常量可以

3、基本数据类型

整数型:byte short int(默认)
浮点型:float double(默认) float
字符型:char
布尔型:boolean
引用数据类型
字符串、数组、类、接口、Lambda

注意事项:

4、变量

变量:程序运行过程中,内容可以发生改变的量
格式一
数据类型 变量名称;
变量名称 = 数据值
格式二
数据类型 变量名称 = 数据值

public class HelloWorld{
    public static void main(String[] args){
        int num1;
        num1 = 10;
        System.out.println(num1);

        int num2 = 20;
        System.out.println(num2);
    }
}

基本使用

public class HelloWorld{
    public static void main(String[] args){
        int num1;
        num1 = 10;
        System.out.println(num1);

        num1 = 20;
        System.out.println(num1);//变量的重新赋值

        //byte num2 = 128;//右侧数值不能超过左侧数据类型的范围
        byte num3 = 127;
        System.out.println(num3);

        boolean var1 = true;
        System.out.println(var1);

        boolean var2 = var1;
        System.out.println(var2);//将一个变量的数据内容赋值给另一个变量
    }
}

注意事项:

public class HelloWorld{
    public static void main(String[] args){
        int num1 = 10;
        System.out.println(num1);

        //int num1 = 20;//变量名不能重复

        //byte num2
        //System.out.println(num2);//没有赋值不能使用

        //System.out.println(num3);//创建变量之前,不能使用这个变量

        int num3 = 100;
        System.out.println(num3);
        {
            int num4 = 10;
            System.out.println(num4);
        }
        //System.out.println(num4);//已经超出了作用域,重新声明这个变量之前不能使用

        long num4 = 10;
        System.out.println(num4);//在外面的大括号作用域里,重新声明可以使用
    }
}
5、数据类型转换

当数据类型不一样时,将会发生数据类型转换
自动类型转换(隐式):
(1)特点:代码不需要进行特殊处理,自动完成;
(2)规则:数据范围从小到大
强制类型转换(显式)
(1)特点:代码需要进行特殊的格式处理,不能自动完成
(2)格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据

public class HelloWorld{
    public static void main(String[] args){
        System.out.println(1024);//整数类型,默认int
        System.out.println(1.11);//浮点数类型,默认double

        //左边long类型,右边是默认的int类型,int-->long,符合数据范围从小到大的规则
        //自动转换数据类型
        long num1 = 100;
        System.out.println(num1);//100

        //左边double,右边float,float-->double,符合从小到大规则
        //自动转换
        double num2 = 1.1F;
        System.out.println(num2);//1.100000023841858

        //左边float,右边long,float范围更大,符合规则
        //自动转换
        float num3 = 100L;
        System.out.println(num3);//100.0

        //long-->int不是从小到大,不能自动转换
        //int num4 = 100L;
        int num5 = (int) 100L;
        System.out.println(num5);
    }
}

注意事项

public class HelloWorld{
    public static void main(String[] args){

        //long-->int
        int num1 = (int) 20000000000L;
        System.out.println(num1);//-1474836480  int类型装不下这么大的值,所以发生数据溢出

        //double-->int
        int num2 = (int) 4.99F;
        System.out.println(num2);//4  不会四舍五入,所有的小数位全部被舍弃

        char zifu = 'A';
        System.out.println(zifu);//A
        System.out.println(zifu+1);//66  大写字母A被提升为int65,然后进行了计算

        byte num3 = 40;
        byte num4 = 50;
        //byte result1 = num3+num4; //因为num3和num4都被提升为int,所以会报错
        int result1 = num3+num4;
        System.out.println(result1);

        short num6 = 60;
        short result2 = (short) (num3+num6);// 如果符合左边的数据类型范围,即逻辑的真实大小,那么可以使用强制转换来实现
        System.out.println(result2);
    }
}
6、算术运算

加:+;减:-;乘:*;除:/;模:%;

注意事项

public class HelloWorld{
    public static void main(String[] args){
        //常量运算
        System.out.println(20+30);//50

        //变量运算
        int a =10;
        int b= 3;
        System.out.println(a+b);//13

        //变量常量混合
        System.out.println(a*20);//200

        //除,取商
        System.out.println(a/b);//3

        //除,取模(余数)
        System.out.println(a%b);//1

        //数据类型不同,结果取范围大的数据类型
        //int+double --> double+double --> double
        double result = a + 2.5;
        System.out.println(result);//12.5
    }
}

加号的多种用法

public class HelloWorld{
    public static void main(String[] args){
        String str1 = "nihao";
        System.out.println(str1);//nihao

        System.out.println(str1+"hello");//nihaohello

        //String + int --> String
        System.out.println(str1+20);//nihao20
        System.out.println(str1+20+30);//nihao2030
        System.out.println(str1+(20+30));//nihao50
    }
}

自增自减
含义:让一个变量加一个数字1或者降一个数字1
格式:写在变量名称之前或之后。例:a++,++a
区别:(1) 单独使用的时候,无区别;(2)混合时,如果是++a,数值立马加1,并使用+1之后的值;a++,先使用原本的值,然后+1

public class HelloWorld{
    public static void main(String[] args){
        //单独使用
        int num = 10;
        System.out.println(num);
        num++;
        System.out.println(num);//11
        ++num;
        System.out.println(num);//12

        //混合使用,比如放到打印中
        //后++
        int num2 = 10;
        System.out.println(num2++);//10
        System.out.println(num2);//11

        //前++
        int num3 = 10;
        System.out.println(++num3);//11
    }
}

注意事项:

7、赋值运算符

注意事项

public class HelloWorld{
    public static void main(String[] args){
        int a = 10;
        a+=5;
        System.out.println(a);

        int b = 10;
        b -= 5;
        System.out.println(b);

        int c = 10;
        System.out.println(c*=5);

        int d = 10;
        System.out.println(d/=5);

        int e = 10;
        System.out.println(e%=3);

        byte f = 10;
        //f = f+5
        //f = byte + int
        //f = int + int
        //f = int
        //f = (byte)int
        f += 5;
        System.out.println(f);
    }
}
8、比较运算符

==、<、>、<=、>=、!=

注意事项

public class HelloWorld{
    public static void main(String[] args){
        System.out.println(10 == 20);//false

        int a = 10;
        int b = 20;
        System.out.println(a == b);//false

        System.out.println(a<b);//true
        System.out.println(a!=b);//true
        System.out.println(b<=20);//true
    }
}
9、逻辑运算符

与(并且)  &&    全部是true,才是true;否则就是false
或(或者)  ||   至少一个是true,就是true,否则就是false
非(取反) ! 本来是true,变成false;本来是false,变成true

注意事项

public class HelloWorld{
    public static void main(String[] args){
        System.out.println(true && false);//false
        System.out.println(true && true);//true
        System.out.println(3<4 && 3>4);//false
        System.out.println(3<4 && 3>2);//true

        System.out.println(true || false);//true
        System.out.println(false || false);//false
        System.out.println(3>2 || 3<2);//true
        System.out.println(3<2 || 3<1);//false

        System.out.println(!true);//false
        System.out.println(!(3<4));//false

        int a = 10;
        int b = 20;
        System.out.println(3<2 && ++a<100);//与,第一个是false,所以阻断后面的代码执行
        System.out.println(3>2 || ++b<100);//或,第一个是true,阻断后面代码执行
        System.out.println(a);//10
        System.out.println(b);//20
    }
}
10、三元运算符

格式:数据类型 变量名称 = 条件判断 ? 表达式A:表达式B
流程:
首先判断条件是否成立:
  如果成立为true,那么将表达式A的值赋值给左侧的变量;
  如果不成立为false,那么将表达式B的值赋值给左侧的变量

注意事项:

public class HelloWorld{
    public static void main(String[] args){
        int a = 10;
        int b = 20;

        //数据类型 变量名称 = 条件判断?表达式A:表达式B
        //判断a大于b是否成立,如果成立,将a赋值给max,如果不成立,将b赋值给max
        int max = a > b ? a : b;
        System.out.println(max);

        //int num = 3 > 4 ? 2.5 : 3;//冒号左右两边必须同时满足左侧的数据类型,这是错误写法
        //a > b ? a : b;
        System.out.println(a > b ? a : b);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读