Java 基础 -day02-运算符·方法·方法重载·局部变量·成员变量

day03

1.运算符

用于连接表达式 的 操作数,并对操作数执行运算。
eg:表达式num1+num2,其操作数是num1和num2,运算符是’+’。
运算符可分为5种类型:
算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。
在这里插入图片描述

1.1 自增自减

	//++a,--a 先变化再使用
	//a++,a-- 先使用再变化
	//前缀式,符号在前,++a--a,先变化(+1/-1),再使用
	//后缀式,符号在后,a++,a--,
package cn.tedu.basic;
//测试取余和自增自减运算符
public class TestOperator {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//1.测试除法与取余
		System.out.println(123/100);//取商
		System.out.println(123/10%10);//取十位数
		System.out.println(123%120);//取余
		
		//++a,--a 先变化再使用
		//a++,a-- 先使用再变化
		//前缀式,符号在前,++a--a,先变化(+1/-1),再使用
		//后缀式,符号在后,a++,a--,
		int a = 1;
		System.out.println(a++);//1
		System.out.println(a);//2
		
		int b = 2;
		System.out.println(++b);//3
		System.out.println(b);//3
		int c=0;
		System.out.println(--c-c-c--);//1
		System.out.println(c);//-2
	}

}

1.2 输出两个数中值大的数:double max = a>b?a:b;

package cn.tedu.basic;
//输出两个数其中值更大的数
import java.util.Scanner;

public class TestMaxValue {
	public static void main(String[] args) {
		
		System.out.println("请输入第一个值:");
		double a = new Scanner(System.in).nextDouble();
		System.out.println("请输入第二个值:");
		double b = new Scanner(System.in).nextDouble();
		
		double max = a>b?a:b;
		
		System.out.println("两个数中大的值为:"+max);
		
	}
}

1.3 输入年份判断是否为闰年?

四年一闰并且百年不闰,还有四百年为闰
a && b // 当1是false时,2会被短路,提高程序的效率
a || b //当1是true时,2会被短路,提高程序效率

package cn.tedu.basic; 
import java.util.Scanner;
//判断闰年还是平年
//四年一闰,百年不闰,四百年又闰
//
public class TestYear {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		while(true){	
			System.out.println("请输入年份:");
			int year = new Scanner(System.in).nextInt();
			
			if(year%4==0&&year%100!=0||year%400==0){
				
			}
			if (year%4==0 && year%100!=0|| year%400==0){
				System.out.println(year+"年是闰年");
			}else{
				System.out.println(year+"年是平年");
				
			}
		}
		}

}

2 方法

具有功能及可被调用的代码块
方法格式:方法的修饰符 方法的返回值类型 方法名(方法的参数){方法体}

package cn.tedu.basic;

public class TestMethod {

	public static void main(String[] args) {
		/*
		 * 通过方法名+参数列表来确定具体调用哪个方法
		 */
		System.out.println(1);
		method1();//567
		System.out.println(4);
		int result = method2(10,3);//30

	}
	
	
	//用于测试方法的返回值,如果方法有返回值,可以设置返回值的类型
	//若设置返回值得类型,必须使用return关键字返回对应类型的结果
	private static int method2(int a,int b) {
		
		System.out.println(a*b);
		return a*b;
	}

	//创建自定义方法格式
	//方法格式:方法的修饰符 方法的返回值类型 方法名(方法的参数){方法体}
	public static void method1(){
		System.out.println(567);
		
	}
	
}

2.1方法的重载

方法的重载是指在一个类中定义多个同名的方法,但是每个方法的参数列表不同(也就是指参数的个数和类型不同)。

	/*f(String a ,int b) f(String b ,int a) ---不构成重载
	 *f(String a ,int b) f(int a , String b) --构成重载
	 *如果一个类中存在多个同名方法,方法参数个数不同,一定构成重载
	 *如果一个类中存在多个同名方法,方法参数个数相同,
	 *需要查看位置上参数的类型,与参数名无关
	 *方法的重载的是参数类型,与参数的名字无关
package cn.tedu.basic;
//方法的重载
public class TestMethodOverload {
	
	public static void main(String[] args) {
		//方法名+参数列表来确定具体调用哪个方法
		/*方法的重载:
		 * 在同一个类中,存在多个同名的方法,但参数列表不同的方法
		 */
		f();
		f(666);
		f("猛哥",6);	
		 
		/*f(String a ,int b) f(String b ,int a) ---不构成重载
		 *f(String a ,int b) f(int a , String b) --构成重载
		 *如果一个类中存在多个同名方法,方法参数个数不同,一定构成重载
		 *如果一个类中存在多个同名方法,方法参数个数相同,
		 *需要查看位置上参数的类型,与参数名无关
		 *方法的重载的是参数类型,与参数的名字无关
		 */
	}
	private static void f(String s, int i) {
		// TODO Auto-generated method stub
		System.out.println(s+"今晚干它"+i+"碗大米饭");
	}

	private static void f(int i) {
		// TODO Auto-generated method stub
		System.out.println("参数"+i);
	}

	private static void f() {
		// TODO Auto-generated method stub
		System.out.println("无参数");
	}
}

3 变量

可以改变的数,称为变量。
变量类型 变量名 = 变量值 ,如:int a = 3

3.1局部变量

	 * 局部变量
	 * 在方法里,局部代码块中
	 * 使用时,必须手动初始化(自己赋值)
	 * 方法结束,局部变量释放
	 * 变量使用一条原则:就近原则
package cn.tedu.basic;
//用于测试成员变量和局部变量
public class TestVariable2 {
	
	static int sum;
	static int a;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 * 局部变量
		 * 在方法里,局部代码块中
		 * 使用时,必须手动初始化(自己赋值)
		 * 方法结束,局部变量释放
		 * 变量使用一条原则:就近原则
		 */
		int sum = 100;
		System.out.println(sum);//100
		System.out.println(a);//0
	}
}

3.2成员变量

1.类里方法外的变量被称作成员变量,
2.成员变量可以不初始化(赋值)
3.在整个类中都生效,类消失,成员变量才会消失
//测试各种类型的默认值

package cn.tedu.basic;
//测试各种类型的默认值
public class TestVariable {
	//类里方法外的变量被称作成员变量,成员变量可以不初始化(赋值)
	static String name;
	static byte a;
	static short b;
	static int c;
	static long d;
	static float e;
	static double f;
	static char g;
	static boolean h;
	
	
	public static void main(String[] args) {

		System.out.println(name);//引用类型的默认值是null
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(e);
		System.out.println(f);//double的默认值是0.0
		System.out.println(g);//char的默认值是/u0000
		System.out.println(h);//boolean类型的默认值是false

	}

}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值