慢慢学习,然后惊呆所有人(四,常见运算符,附小练习)

继续学习 java 学习,不想多说话了,没什么可说的,上干活

常见运算符

算术运算符+,-,* ,/ (整除)
关系运算符>,<,<=,>=,!=(不等于),==(等于)(不存在’!>’ ‘!<’
逻辑运算符&& 或者&(与),二条竖杠 或者一条竖杠 (或), !(非)
赋值运算符= (’=‘将右边结果值给左边,优先级低,比++,–高), += ,-= ,*= ,/= ,%= (a+=10等价a=a+10)
自加和自减运算符i++,++i ,i–,--i(i++与++i的区别与c语言相同。
//代码演示关系运算符
public class Hello {	
	 public static void main(String[] args) {
		//定义整数类型
		int num =10;
		//定义字节数据(类型   定义名称   =  值  )
		int num1 = -10;
		System.out.println(num > num1);
		System.out.println(num < num1 );
		System.out.println(num <= num1 );
		System.out.println(num >= num1 );
		System.out.println(num == num1);
		System.out.println(num != num1);	
	}
}

在这里插入图片描述

//逻辑运算符
public class Hello {	
	 public static void main(String[] args) {
		//定义整数类型
		int a =10;
		//定义字节数据(类型   定义名称   =  值  )
		int b = -10;
		int c =100;
		
		System.out.println(a > b && c < a );//'与'必须全部为真返回为真
		System.out.println(	a > b && c < a );//'或'一个为真返回真
		System.out.println(!(a<b));//取反
		}
}

在这里插入图片描述

//赋值运算符
public class Hello {	
	 public static void main(String[] args) {
		//定义整数类型
		int a =10;
		//定义字节数据(类型   定义名称   =  值  )
		int b = -10;
		int c =100;
		int d = 6 ;
		int e =21 ;
		a+=10;
		b-=10;
		c*=10;
		d/=2;
		e%=2;//取余
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(e);
		
		}
}

在这里插入图片描述

//自加和自减运算符
public class Hello {	
	 public static void main(String[] args) {
		//定义字节数据(类型   定义名称   =  值  )
		int i =3;
		i++;
		System.out.println(i);
		++i;
		System.out.println(i);
		i--;
		System.out.println(i);
		--i;
		System.out.println(i);
		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		//产生原因'++i''--i'的优先级太高比=高,'i--','i++'优先级太低比‘=’低
		int a = i++;//先用后加
		System.out.println(a); //3
		System.out.println(i); //4
		int b = ++i;//先加1后用
		System.out.println(b);//5
		System.out.println(i);//5
		int c = --i;//先减后用
		System.out.println(c);//4
		System.out.println(i);//4
		int d = i--;//先用后减
		System.out.println(d);//4
		System.out.println(i);//3
		}
}

在这里插入图片描述

import java.util.Scanner;
//导入对应包
public class Hello {	
	 public static void main(String[] args) {
		 //获取一个Scanner对象
		Scanner sc = new Scanner (System.in); //System.in标准输入流,System.out标准输出流
		System.out.print("请输入一个数: ");
		int a = sc.nextInt();//从控制台接收用户输出数值,定义.nextInt()必须输入数值
		System.out.print("请输入一个数: ");
		int b = sc.nextInt();
		System.out.println("a+b= "+(a+b)); //输出a+b
		}
}

在这里插入图片描述

小练习
1,根据天数(46)计算周数与其余天数

import java.util.Scanner;

public class Hello {	
	 public static void main(String[] args) {
		 //获取一个Scanner对象
		Scanner sc = new Scanner (System.in); //System.in标准输入流,System.out标准输出流
		System.out.print("请输入天数:");
		int day = sc.nextInt();//接收用户输出数值,定义.nextInt()必须输入数值
		int weeks=  day / 7 ;
		int other = day % 7 ;
		System.out.println("周 :"+(weeks)); 
		System.out.println("其余天数 :"+(other));
	}
}

在这里插入图片描述

2,控制台输入一个圆半径radius,求面积。

//方法一
import java.util.Scanner;

public class Hello {	
	 public static void main(String[] args) {
		 //获取一个Scanner对象
		Scanner sc = new Scanner (System.in); //System.in标准输入流,System.out标准输出流
		System.out.print("请输入一个圆半径:");
		int a = sc.nextInt();//接收用户输出数值,定义.nextInt()必须输入数值
		float pi= (float)(3.14);
		System.out.println("S= "+(a*a*pi)); //输出圆面积
	}
}
//方法二
import java.util.Scanner;
public class Hello {	
	 public static void main(String[] args) {
		 //获取一个Scanner对象
		Scanner sc = new Scanner (System.in); //System.in标准输入流,System.out标准输出流
		System.out.print("请输入一个圆半径:");
		int a = sc.nextInt();//接收用户输出数值,定义.nextInt()必须输入数值
		float pi= (float)(3.14);
		float t= (float)( Math.pow (a,2)); 
		System.out.println("S= "+(t*pi)); //输出圆面积
	}
}

在这里插入图片描述

3,求二个数加减乘除取余。(加减乘除取余改的都一样)

import java.util.Scanner;
//导入对应包
public class Hello {	
	 public static void main(String[] args) {
		 //获取一个Scanner对象
		Scanner sc = new Scanner (System.in); //System.in标准输入流,System.out标准输出流
		System.out.print("请输入一个数: ");
		int a = sc.nextInt();//从控制台接收用户输出数值,定义.nextInt()必须输入数值
		System.out.print("请输入一个数: ");
		int b = sc.nextInt();
		System.out.println("a*b= "+(a*b)); //输出a+b

在这里插入图片描述

扩充内容:位运算符:(计算机运算最快的运算符)

在计算机底层本质是二进制(半导体)运算(计算机底层本质上来说,是以补码运行的!!!!)。

常见的进制

十进制(人类最长的使用的10进制) 10个个位数:(0 1 2 3 4 5 6 7 8 9) 逢10进1
二进制个位数只有2个: (0 1)逢2进1
十六进制0~9 ABCDEF 0xAF89AD(显示以0x开头)

符号位取数子二进制下最高位为符号位,0代表为正数,1代表为负数
正数
正数的源码、反码、补码一致,也就是正数没有源码、反码、补码之说

负数:
源码:数值的二进制状态码
反码:符号位不变,其余各位取反,得到的就是反码
补码:反码+1,就是补码

位运算符

&与运算 :数字转换为二进制相加,上下都为1为1,不同为0
竖线或运算符 :数字转换为二进制相加,上下有1为1,没有为0
^异或运算:数字转换为二进制相加,上下不同为1,相同为0
~按位取反:数字转换为二进制相加,0转换为1,1转换为0

移位运算(比较常用)

<<左移运算符
>>有符号右移运算
>>>无符号右移运算

典例(二分查找)

/**
 二分查找:
    数组必须是有序的(按大到小或者小到大排列)
    取中间值进行比较
    获取选择数的下标
 */
public class Test {
    public static void main(String[] args) {
        int arr [] =new int[]{0,1,2,3,4,5,6,7,8,9,10};
//        小编按小到大排序
        //找的数字
        int val=9;
        System.out.println(binary_search(arr,val));
    }
    public static int binary_search(int arr[], int val){
        //左边下标从0开始
        int left=0;
        int right=arr.length-1;
        while (left<=right) {
            //取出中间值下标
            int middle = (left+right) >> 1;
            //找到返回下标
            if (val == arr[middle]) {
                return middle;
            } else if (val > arr[middle]) {
                //如果中间值不是,比中间值大,证明在右边
                left=middle+1;
            } else if (val < arr[middle]) {
                //如果中间值不是,比中间值大,证明在左边
                right=middle-1;
            }
        }
        //没有找到返回-1
        return -1;
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶光不负

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值