Java基础学习笔记2

        今天是Java基础学习第二天,加油!!!下面是我今天记的一些笔记。(有点懒惰了,爬虫今天没学,因为赖床了(bushi),但我会勤奋起来的^_^,一定一定!明天不能偷懒了 天!!)

一、运算符
    例子:

        int a = 10;
		int b = 20;
		int c = a + b;

其中,“+”是运算符,且是算术运算符;“a + b”是表达式,且是算术表达式。


1.算术运算符
     例1:

        public class demo3 {
			public static void main(String[] arg) {
				//+
				System.out.println(3 + 7);
				//-
                System.out.println(8 - 2);
                //*
                System.out.println(3 * 7);
                //运算时有小数参与运算,结果可能不精确
                System.out.println(1.1 + 1.1);//2.2
                System.out.println(1.02 + 1.1);//2.12
                System.out.println(1.1 + 1.01);//2.1100000000000003
                //除法(取商)
                //整数参与计算,结果得到整数
                //小数参与,结果可能不精确,精确计算在后续学习中
                System.out.println(8 / 2);//4
                System.out.println(10.0 / 3);//3.3333333333333335
                //取余,取模
                System.out.println(8 % 2);//0
                System.out.println(8 % 3);//2
            }
        }

        例2,拆分数字:

            //拆分数字
            Scanner sr = new Scanner(System.in);
            System.out.println("请输入数字:");
            int a = sr.nextInt();
            System.out.println("个位数:" + (a % 10));//个位数:3
            System.out.println("十位数:" + ((a / 10) % 10));//十位数:2
            System.out.println("十位数:" + (((a / 10) / 10) % 10));//十位数:1

        【1】类型转换
            *隐式转换:取值范围小转为大的数据(转成一样的才能计算)
                规则:#小的变成大的,再开始运算
                     #byte,short,char,运算时直接提为int,再计算
           注: byte->short->int->long->float->double(取值范围最大)
            *强制转换:如果想将取值范围大的转为小,此时需要强制转换
                格式:目标数据类型 变量名 = (目标数据类型)被强转的数据
                例1:

                    double a = 12.3;
                    int b = (int)a;


        【2】字符串“+”操作(拼接操作)
            *是字符串连接符,将前后数据拼接
            *连续“+”,从左到右逐个执行
                如,“1”+“99”+“9年” => "1999年"
        【3】字符“+”操作(涉及ASCII码)
            *ASCII码(往后加1):
                a : 97        A : 65
            例1:

        System.out.println(3 + 'a');//100
        System.out.println('a' + "sdcx");//asdcx 

2.自增自减运算符(++,--)
    *单独写一行,放在变量前后,结果都一样。
    *另一个,代码例子:

        int z = 10;
		//++在变量后面,会先将z值赋给s,z再自增
		//则s=10,z=11
		int s = z++;
		//++在变量前面,z先自增,z=12,再赋值给d
		int d = ++z;
		System.out.println("z:"+z);//12
		System.out.println("s:"+s);//10
		System.out.println("d:"+d);//12

3.赋值运算符

a += b; ==> a = a + b;//(其他的以此类推)

4.关系运算符(结果为boolean类型)
    ==    !=     >    >=    <     <=
    例1:

        Scanner sr = new Scanner(System.in);
		int p1 = sr.nextInt();
		int p2 = sr.nextInt();
		boolean result = p1 > p2;
		System.out.print(result);

5.逻辑运算符(可以联想到一些数学知识)

        【1】逻辑运算符

                 &        (逻辑且,两边都要运行)    
                   |        (逻辑或,两边都要运行)    
                  ^        (逻辑异或,同false,不同true)    
                  !        (逻辑非,取反)
(补,其他运算符:
             <<    向左移动,低位补0,如00001100<<2 ==>> 00110000
            >>    向右移动,高位补0或1
            >>> 向右移动,高位补0)
        【2】短路运算符(常用:&&,||,!)
    
        * &&        (短路与,都真为真,左边是false,右边无论真假都不会运行,整个结果一定false)    
        *    ||        (短路或,都假为假,左边是true,右边无论真假都不会运行,整个结果一定true)
        例1,练习:

            Scanner sr = new Scanner(System.in);
            int p1 = sr.nextInt();
            int p2 = sr.nextInt();
            System.out.print((p1==6||p2==6)||((p1+p2)%6==0));//true,false

6.三元运算符
    *格式:关系表达式?表达式1:表达式2;(true,进行1;false,进行2)
    范例,获取较大值:

        int max = a > b ? a : b;
		System.out.print(a > b ? a : b);

例1,是否相同:

        Scanner sr = new Scanner(System.in);
		int p1 = sr.nextInt();
		int p2 = sr.nextInt();
		System.out.print(p1 == p2 ? "相同" : "不同");

例2,选出最大值:

        Scanner sr = new Scanner(System.in);
		int p1 = sr.nextInt();
		int p2 = sr.nextInt();
		int p3 = sr.nextInt();
		int max = p1 > p2 ? p1 : p2;
		int max2 = p3 > max ? p3 : max;
		System.out.print(max2);

8.原码,反码,补码(这网课听得我梦回之前上的计算机组成课,重新记一下吧,反正有点忘了)
    *原码:十进制数据的二进制表现形式,最左边是符号位,0正,1负
        如:56    ==>>    0    0111000
    最大值:01111111    +127
    最小值:11111111    -127
    *反码:正数反码不变,负数的反码在原码基础上,符号位不变。数值取反,0变1,1变0。
        如:-56 原码 ==>>  1   0111000
                     反码 ==>>  1   1000111
    *补码:正数补码不变,负数的反码在补码基础上,符号位不变。数值取反,0变1,1变0,得到反码,最后末尾加1。

        如:-101 原码==>>1101        反码 ==>> 1010        补码 ==>> 1011

今天就这样结束吧(确实摸鱼了bushi),明天我会补上的☹☹☹ 

好像要下雨了,太好了,这几天我要热“死”了,差点变成干(开玩笑)         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值