0506课堂笔记--运算符-变量

1.运算符

1.1概述

算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。

1.2运算速查表

img

逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题
注意逻辑运算符返回的运算结果为布尔类型
通常,我们用0表示false,用1表示true
与:表示并且的关系
&单与: 1 & 2 ,结果想要是true,要求1和2都必须是true
&&双与(短路与):1 && 2 ,当1是false时,2会被短路,提高程序的效率
或:表示或者的关系
|单或: 1 | 2,结果想要是true,要求1和2只要有一个为true就可以
||双或(短路或):1 || 2,当1是true时,2会被短路,提高程序效率

短路运算,可以优化程序

&& 0&&__=0

|| 1||__=1

&与运算:有假则假,全真才真

010
100
000
111

|或运算:有真则真,全假才假

101
011
111
000

优先级控制:使用小括号辅助进行优先级管理。

1.3自增自减练习

package src.cn.tedu.basic;
//本类用于测试运算符
public class TestDemo01 {
	public static void main(String[] args) {
		System.out.println(7%2);//取余运算
		//1.需求:用户输入三位数,分别输出每个位置上的数字
		//789
		System.out.println(789/100);//7
		System.out.println(789%10);//9	
		System.out.println(789/10%10);//8
						System.out.println("===========================");
		//2.测试自增自减运算符
		/**前缀式,符号在前,先变化再使用++a  --a
		 * 后缀式,符号再后,先使用再变化 a++  a--
		 * ++:值加1  --:值减一*/
		int a=1;
		System.out.println(a++);//1,打印完后自增为2
		System.out.println(a);//2
		
		int b=1;
		System.out.println(++b);//2,符号在前,先变化再使用
		System.out.println(b);
		
		System.out.println("*******************");
		
		//a的初始值会受到之前程序的影响
		//a的初始值为2
		System.out.println(--a-a-a--);//-1,注意区分自增运算与加减法运算
		//(1)-(1)-(1)
		System.out.println(a);//0
		//a的变化有--a和a--
	}
}

PS:自练的提取三位数每位的数值

package src.cn.tedu.basic;
import java.util.Scanner;
//本类用于提取多位数的值
public class TestDamo02 {
	public static void main(String[] args) {
		/**
		 需求:用户输入三位数,分别输出每个位置上的数字
		//789
		System.out.println(789/100);//7
		System.out.println(789%10);//9	
		System.out.println(789/10%10);//8
		*/
		System.out.println("请输入一个三位数t:");
		int num = new Scanner(System.in).nextInt();
		int a = num%10;//取个位数值
		int b = num/10%10;//取十位数值
		int c = num/100;//取百位数值
		System.out.println("t的个位数为:"+a);
		System.out.println("t的十位数为:"+b);
		System.out.println("t的百位数为:"+c);
	}
}

1.4求最值比较练习

package src.cn.tedu.basic;
import java.util.Scanner;
//本类用于计算两个数的最大值
public class TestDame03 {
	public static void main(String[] args) {
		//1.提示输入要比较的整数
		System.out.println("请输入需要比较的第一个整数a:");
		int a = new Scanner(System.in).nextInt();
		System.out.println("请输入需要比较的第二个整数b:");
		int b= new Scanner(System.in).nextInt();	
		//2.进行比较
		/**三目运算符  1?2:3
		 *1是表达式,如果1位置的结果为true,此表达式的结果取2号位置
		 *        如果1位置的结果为false,此表达式的结果取3号位置*/
		int max = a>b?a:b;
		//3.输出
		System.out.println("两者之间的最大值是:"+max);
	}
}

PS:自练三个数的最大值比较,运用三目运算

package cn.tedu.basic;
import java.util.Scanner;
//本类用于练习运用三目运算求取 三个数的最大值
public class TestDamo04 {
	public static void main(String[] args) {
		//提示输入需要比较的三个数
		System.out.println("请输入需要比较的第一个整数值a:");
		int a = new Scanner(System.in).nextInt();
		System.out.println("请输入需要比较的第二个整数值b:");
		int b = new Scanner(System.in).nextInt();
		System.out.println("请输入需要比较的第三个整数值c:");
		int c = new Scanner(System.in).nextInt();
		//做比较
		//先比较a和b,赋值给t,在比较t与c,给出max
		int t = a>b?a:b;
		int max = t>c?t:c;
//      如何一行代码写出三个数值的比较
//		int max = a>b?(a>c?a:c):(b>c?b:c);
		System.out.println("您输入的三个整5数值的最大值是:"+max);
	}
}

1.5求平年闰年的练习

package src.cn.tedu.basic;
import java.util.Scanner;
//本类用于测试输入的年份为平年还是闰年
//判断方法
//方式1:能被4整除,且不能被100整除
//方式2:能被400整除
public class TextDemo04 {
	public static void main(String[] args) {
		//提示并接受用户输入的年份
		System.out.println("请输入需要判断的年份:");
		int year = new Scanner(System.in).nextInt();
		//定义一个变量保存结果
		String result ="平年";//默认每年都是平年
		/**解决方案一*/
		//判断  方式1:能被4整除,且不能被100整除
//		if(year % 4 == 0 ) {
//			if(year % 100 != 0) {
//				result = "闰年";//符合判断条件,修改结果为闰年
//			}
//		}
		//方式2:能被400整除
//		if(year % 400 == 0) {
//			result ="闰年";			
//		}	
		/**解决方案二*/
		/**判断结果 if(判断条件){满足判断条件后要执行的代码}*/
		//if(条件一 || 条件二){结果是闰年}
		//if((小条件一&&小条件二)条件一 || 条件二){结果是闰年}
		/**先写结构,再填代码内容*/
		if ((year%4==0 && year%100!=0)||year%400==0) {
			result ="闰年";	
		}
		//打印
		System.out.println(year+"年是"+result);
    }
}

2.方法 局部变量 成员变量

2.1方法

2.1.1概述

被命名的代码块,方法可以含参数可以不含参数,可以提高代码的复用性。

2.1.2格式

方法的修饰符 方法的返回值类型 方法名(参数列表){方法体}

public static void main(String[] args) {}

2.1.3方法的调用顺序

顺序执行代码,调用指定方法,执行完毕,返回调用位置

img

2.1.4练习:测试方法的调用顺序/参数/返回值

package cn.tedu.method;
/**本类用于测试方法*/
public class TextMethod {
	public static void main(String[] args) {
		System.out.println(1);
		/**2. 我们通过方法名+参数列表的方式来调用方法的功能*/
		method1();/**调用method1()方法*/
		System.out.println(2);
		method2(8);
		int result=method3(3,5);
	}
	/**1.方法的修饰符 方法的返回值类型 方法名 (方法的参数) {方法体}*/
	/*method1()方法测试方法的调用顺序*/
	public static void method1() {
		System.out.println(5);
		System.out.println(6);
		System.out.println(7);
	}
	/*method2()方法 测试方法的参数*/
	public static void method2(int a) {
		System.out.println("今天吃"+a+"碗饭");		
	}
	/*method3()方法 测试方法的返回值类型*/
	/**3.如果方法想要有返回值,必须修改返回值类型,
	 * 并且return对应返回值类型的结果
	 * 如果方法的返回值类型为viod,不允许有返回值*/
	public static int method3(int a, int b) {
		/**4.通过关键字return将本方法的结果返回到调用位置*/
		return a+b;
	}				
}

2.1.5方法的重载

package cn.tedu.method;
/**本类用于测试方法的重载*/
public class TestMethod01 {
	public static void main(String[] args) {
		/**1.我们根据方法名+参数列表 来确定具体调用哪个方法*/
		/**2.方法的重载
		 * 在同一个类中存在方法名相同但参数列表不同的方法
		 * 如果在同一个类中,同名方法的参数个数不同,一定构成重载 
		 * 如果在同一个类中,同名方法的个数相同:需要查看对应位置上的参数类型,而不是参数名,与参数名无关
		 * (int a,String s)与(int s,String b)--重复的方法,不构成重载,参数类型
		 * (int a,String s)与(String b,int a)--构成重载
		 * */
		//3.创建method方法
		method();
		//5.调用method(int)
		method(666);
		//7.调用method(int,String)
		method(3,"我");
       }
	public static void method() {
			System.out.println("无参数");
		}	
		//4.创建一个含有int类型的参数的方法
		public static void method(int n) {
			System.out.println("参数是"+n);
		}
		//6.创建一个含有两个参数的method方法
		public static void method(int a,String s) {
			System.out.println(s+"要读"+a+"本书");
		}
		public static void method(String s,int a) {
			System.out.println(s+"要读"+a+"本书");
		}		
}
//method方法要在main方法的括号外面

2.2变量

2.2.1概念

“变量类型 变量名 = 变量值 ;”

变量的使用原则:就近原则,即尽量控制变量的使用范围到最小

局部变量,成员变量

8大类型速查表(含默认值)

2.2.2练习:局部变量与成员变量测试

package cn.tedu.basic;
//本类用于测试变量的使用
public class TextVariable {
	/**成员变量:
	 * 1)位置:类里方法外
	 * 2)初始化:无需手动初始化,会自动赋予对应的类型的默认值
	 * 3)作用域:在整个类中都生效,直到类消失,成员变量才消失
	 * */
	//3.定义成员变量
	static int count;
	static int sum = 800;
	//1.创建程序入口函数main
	public static void main(String[] args) {
		/**局部变量
		 * 1)位置 :在方法里/局部代码块里
		 * 2)初始化:必须手动初始化(赋值)
		 * 3)作用域:在方法里/局部代码快中,当 对应的代码块执行完毕,局部变量释放
		 * */
		//2.定义局部变量
		//变量的类型 变量名 变量值
		int sum =100;
		System.out.println(sum);
		/**变量的就近原则:使用的是附近的变量100*/
		System.out.println(count);
	}
}

**新单词 **

undefined 未定义

applicable 合适,适合

arguments 参数

initailized 初始化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值