JAVASE复习day01-面向过程部分(只有重点)

本文介绍了Java中的基本运算符,包括赋值运算符、三目运算符、位运算符等,并通过实例演示了如何使用这些运算符。此外,还讨论了break、continue和return的区别及其用法,最后给出了方法重载的设计示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运算符

package com.anonymous.javase.day01;

import java.math.BigDecimal;

public class Day01_Demo1 {
	public static void main(String[] args) {
		//赋值运算符(注意点)
		//Infinity ANd -Infinity
		System.out.println(100/0.0);//Infinity
		System.out.println(100.0/0);//Infinity
		System.out.println(-100/0.0);//-Infinity
		System.out.println(-100.0/0);//-Infinity
		//NaN(Not a Number)
		System.out.println(0.0/0.0);//NaN
		double d = 0.0/0.0;
		/*
		 * NaN不等于自己
		 */
		System.out.println(d==d);//false
		
		//三目运算符
		/*
		 * 格式:ele ? ele2 : ele3;
		 */
		boolean lean = 5 > 3 ? true :false;
		System.out.println(lean);//true
		
		//案例
		/*
		 * 分页计算
		 */
		
		int number = 101;//内容
		int page = 10;//把内容分几页总页数
		int pageNum = number % page ==0 ? number/page : (number/page)+1;
		System.out.println(pageNum);
		
		
		//位运算符
		// & ^ | ~  << >>
		/*
		 * 使用值 
		 * 3--->0011
		 * 4--->0100
		 * 5--->0101
		 */
	/*	     0011
		 &   0101
		 	 0001*/
		System.out.println(3&5);
		//& 与 如果两个同时为1下面值就为1.其他一律为零
		
		/* 0011
		^  0101
		   0110*/
		System.out.println(3^5);
		//^异或  如果如果两个同时为零或者是1.下面都是0.其余都是1
		
	/*	   0011
		|  0101
		   0111*/
		System.out.println(3|5);
		 //| 或 两个中至少有一个1,下面都是为1,其余为零 
	  /*~ 0011
		  1100*/
		System.out.println(~3);
		//~取反 把1改为0  0改1
		
		/*>>1  0000 0100   ---> 0000 0010*/
		/*>>2  0000 0100   ---> 0000 0001*/
		System.out.println(4>>1);
		System.out.println(4>>2);
		//右移 --->不足的移位补充0
		
		/*<<1 0000 0100  --->0000 1000 */
		/*<<2 0000 0100  --->0001 0000 */
		System.out.println(4<<1);
		System.out.println(4<<2);
		//左移---->不足的位置补充0
		
		//不好理解
		/*
		 * 可以理解为
		 * 右移是除
		 * 左移是乘
		 * >>1 /2的一次幂
		 * >>2 /2的二次幂
		 * >>n /2的n次幂
		 * 
		 * <<1 *2的一次幂
		 * <<2 *2的二次幂
		 * <<n *2的n次幂
		 * 但是在面试的时候不可以这么说.面试中还是说移位好
		 */
		 
		//两个变量值的交换
		//有三种方式
		//1:引入第三方变量
		int a = 34;
		int b = 23;
		int c = a;
		a = b;
		b = c;
		System.out.println(a);//23
		System.out.println(b);//34
		
		//不引入第三方变量
		a = 34 ;
		b = 23;
		a = a + b;
		b = a - b;
		a = a - b;
		System.out.println(a);//23
		System.out.println(b);//34
		
		//使用位运算符^
		a = 34;
		b = 23;
		a = a^b;
		b = a^b;
		a = a^b;
		System.out.println(a);
		System.out.println(b);

		//赋值运算符
		System.out.println((0.6/0.2)==3.0);//false
		//????
		/*
		 * 难道这样运算有错误,其实不然,是
		 * JAVA中double和float无法解决小数的精确度
		 * 这个使用需要使用到java中BigDecimal
		 */
		BigDecimal bigDecimal = new BigDecimal("0.6");
		BigDecimal bigDecimal2 = new BigDecimal("0.2");
		BigDecimal divide = bigDecimal.divide(bigDecimal2);
		System.out.println(divide.doubleValue()==3.0);//true
		
	}
}

Break-Continue-Return

package com.anonymous.javase.day01;

public class Day01_Demo2 {
	public static void main(String[] args) {
		//break   return continue 三者之间的区别
		//continue
		for (int i = 0; i < 20; i++) {
			if (i==10) {
				continue;
			}
			//System.out.println(i);
			//0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19
			//跳过当前的一次条件中所控制的循环继续执行下面的
		}
		
		//break
		for (int i = 0; i < 20; i++) {
			if (i==10) {
				break;
			}
			System.out.println(i);
			//0 1 2 3 4 5 6 7 8 9 123
			//结束当前的循环,继续进行下面的
		}
		System.out.println("123");
		
		
		//return
		for (int i = 0; i < 20; i++) {
			if (i==10) {
				return;
			}
			System.out.println(i);
			//0 1 2 3 4 5 6 7 8 9 
			//结束当前循环,不会执行下面的程序
			}
			System.out.println("123");
	}
}


重载设计:

package com.anonymous.javase.day01;

import java.math.BigDecimal;

public class Day01_Demo3 {
	public static void main(String[] args) {
		//重载设计
		/**
		 * 重载的设计是为了解决方法功能相同,而名称不同的问题
		 * 重载判断原则:
		 * 两同以不同
		 * 同:同一个类中,方法名相同
		 * 不同:参数列表,参数顺序,参数个数
		 */
		//列子将两个字符串进行相加,和两个整形(int)相加
		demo1("45", "45.0008");
		demo1(45 ,64);
	}
	
	//BigDecimal
	public static void demo1(String str1,String str2){
		//将连个字符串转化为整形
		try{
			BigDecimal bigDecimal1 = new BigDecimal(str1);
			BigDecimal bigDecimal2 = new BigDecimal(str2);
			BigDecimal add = bigDecimal1.add(bigDecimal2);
			System.out.println(add);
		}catch(Exception e){
			throw new NumberFormatException("数字格式化异常");
		}
	}
	
	//int
	public static void demo1(int i1,int i2){
		System.out.println(i1+i2);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值