JAVA初学笔记2

运算符

作用

        对数据进行运算

分类

       算数运算符

        逻辑运算符

        赋值运算符

        三目运算符(三无运算符)

        位运算符(了解)

算数运算符 

        +:加法

        _:减法

        *:乘法

        /:除法

                注意:不能为0

        %:取余

        ++:自增

                ++在前:先自增再参与运算

                ++在后:先运算再参与自增

                建议:++单独写一行

        --:递减

                --在前:先递减 再参与运算

                --在后:先参与运算 再递减

        优先级:

                有括号先算括号中

                有乘除先算乘除

                从左向右依次计算

        注意:可以给整型与浮点型使用 

逻辑运算符

        <:小于

        <=:小于等于

        >:大于

        >=:大于等于

        ==:等于

                基本数据类型判断值是否相同

                引用数据类型判断内存地址是否相同

                (不能判断字符串内容是否相同)

        !=:不等于

                基本数据类型判断值是否不相同

                引用数据类型判断内存地址是否不相同

                (不能判断字符串内容是否不相同)

        &:与

                概念:同真为真,有假为真

        &&:短路与

                概念:同真为真,有假为假

                效率比&高

                &&与&的区别

                &

                        true&false&true&false...

                         逐个获取计算结果

                &&

                        true&false&true&false...         

                        遇到false直接结束               

        |:或

                概念:有真为真,全假为假

        ||:短路或

                概念:有真为真,全假为假

                效率比|高

        !:非

                概念:非真为假,非假为真

                !true结果为false

                boolean b = false

                !b结果为true

注意:

        最终结果只能是boolean型

        条件表达式:最终结果为boolean型的算数式都是条件表达式

        与,或,非不包括最后运算 

赋值运算符

=:赋值

        将等号右边的值赋值给左边的变量

+=:加等

        比如               

    int a = 10;

    int b = 2;

    //a = a + b

    a += b

-=:减等

        比如

    int a = 10;

    int b = 2;

    //a = a - b

    a -= b

*=:乘等       

    int a = 10;

    int b = 2;

    //a = a * b
    
    a *= b

/=

%=

注意:等号两边数据类型要相同

三目运算符

语法:

        条件表达式 ? 值1 : 值2

逻辑:

        当条件表达式为true,取值1,当条件表达式为false,取值2

注意:

        值1和值2数据类型要相同

        可以使用变量

例子: 根据年龄判断是否成年?

 int age = 18;
 String str = age >= 18?"成年人":"未成年";

练习:

        获取两个数的最大值

int a = 10;
int b = 20;
System.out.println(a > b?a:b);

        获取三个数的最大值

class Demo01{
    public.static.void.main(String[] agrs){
        int a = 10;
        int b = 30;
        int c = 29;
        int max = a > b ? a : b;
        max = max > c ? max : c;
            System.out.println(max);
    }
}    

数据类型转换

小类型转大类型

        自动转换

int num = 10;
long l = num;

注意:小类型与大类型运算,结果为大类型

        double d = 10 + 0.0;

大类型转小类型

        强制类型转换

        语法格式:小类型 变量命 = (小类型) 要转换的变量或数据;

        long l = 10l;

        int a = (int)l;

        int i = 128;

        byte b = (byte)i;

        注意:强制转换会导致数据丢失

练习:

        char c = 'a';

        int i3 = c;

        小写字母对应的数字:97~122

        大写字母对应的数字:65~90

进制转换

二进制:

        0,1,10,11,100,101,110...

八进制:

        0,1,2,3,4,5,6,7,10,11,12,13...

十进制:

        00,01,02,03,04,05,06,07,08,09,10...

十六进制:

        0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,10,11

十进制转换二进制 除2,余数倒读

十进制转换八进制 除8,余数倒读

十进制转换十六进制 除16,余数倒读 二进制转换为十进制

例子:
10100
1*2^4+0*2^3+1*2^2+0*2^1+0*2^0 16+0+4+0+0=20 位所在的数*2^(位数-1)+位所在的数*2^(位数-1)+...

八进制转换为十进制 例子:

        26
        2*8^1+6*8^0
        2*8+6*1
        16+6
        22

位所在的数*8^(位数-1)+位所在的数*8^(位数-1)+... 十六进制转换为十进制

例子: AF

  10*16^1+15*16^0
        160+15
        175
 

位所在的数*16^(位数-1)+位所在的数*16^(位数-1)+...

字符串判断内容是否相同

语法:

        boolean 变量名 = 字符串1或字符串变量1.equals(字符串2或字符串变量2)

如:

        String str01 = "Hello";

        String str02 = "World";

        boolean b = str01.equals(str02);

        boolean b = "Hello".equals(str02);

        boolean b = "Hello".equals("World");

        boolean b = str01.equals("World");

字符串连接符

+

        如:

                int i = 10;

                String str = "1";

                String str02 = i + str;

        练习:

                String str01 = 1 + 2 + "3"    等于"33"

                String str02 = "1" + 2 + 3    等于"123"

转意字符

概念:特殊含义的字符

\'                含义:'

\"                含义:"

\\                含义:\

\n                含义:换行

\t                含义:制表

键盘录入

原因:提高代码的趣味性

对应类型:Scanner

使用步骤:

        1,导包

                位置:类以外     

improt java.util.Scanner

        2,创建Scanner对象

                代码:

 Scanner 变量名1 = new Scanneer(System.in);

        3,等待用户输入,并获取用户输入结果(可以重复使用多次)

                代码:

让用户输入字符串
    String 变量名2 = 变量名1.next(); 
让用户输入整数
    int 变量名2 = 变量名1.nextInt();

        注意:

                变量名2对应的内容就是用户输入的内容

                next或nextInt都会阻塞程序,直到用户输入

建议:相当固定语法记,当面向对象学习完成后就理解了

分支语句

Java中的语句分类

        顺序语句

                特点:代码从上向下依次执行

        分支语句

                特点:提供多个分支只能选择一个执行

        循环语句

                特点:重复执行一段代码

软件作用

        1,解决现实生活中的问题

        2,虚拟一个世界

分支语句的作用

        判断

分类

        if

                特点:可以判断内容是否相同,也可以判断区间

        Swicyh

                特点:只能判断值是否想用,效率稍微比if快

                注意:只能判断8个基本数据与String的数据是否相等

if

        简单的if结构

                语法:
                   

if(条件表达式){

   当条件表达式为true,执行此处代码

}

        if else结构

                 语法:
                     

if(条件表达式){

        当条件表达式为true,执行此处代码

    }else{

         当条件表达式为false,执行此处代码

    }

        else if结构

                  语法:

if(条件表达式1){ 
    当条件表达式1为true,执行此处代码
}else if(条件表达式2){ 
    当条件表达式2为true,执行此处代码
}else if(条件表达式3){ 
    当条件表达式3为true,执行此处代码
}...
switch
else if(条件表达式n){ 
    当条件表达式n为true,执行此处代码
}else{ 
    当以上条件都不为true时,执行此处代码
}

总结

        if必须有

        else:可有可无,最多一个,必须在if的末尾

        else if:可有可无,可以有多个

        语法:

if(条件表达式1){
    当条件表达式1为true,执行此处代码 
}[else if(条件表达式2){
    当条件表达式2为true,执行此处代码 
}else if(条件表达式3){
    当条件表达式3为true,执行此处代码 
}...
else if(条件表达式n){ 
    当条件表达式n为true,执行此处代码
}else{ 
    当以上条件都不为true时,执行此处代码
}] 

注意:[]中的内容可有可无

注意:if中可以使用if(if的嵌套)

switch

        语法:

switch(变量){
    case 值1: 
        当变量的值等于常量1时,执行此处代码
    break; case 值2:
        当变量的值等于常量2时,执行此处代码 
    break;
    ...
    case 值n:
        当变量的值等于常量n时,执行此处代码 
    break;
    default: 
        当变量的值不等于以上常量时,执行此处代码
    break; }

   
    break:跳出当前代码块 
    {}:代码块

作用域

变量声明的大括号,就是变量的作用域

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值