从零开始学Java-Day03
算术运算符
package cn.tedu.basic;
public class TestOperator {
public static void main(String[] args) {
System.out.println(25 / 10);
System.out.println(25 % 10);
System.out.println("===========");
int a = 89;
System.out.println("十位数:" + (a / 10));
System.out.println("个位数:" + (a % 10));
System.out.println("===========");
int b = 153;
System.out.println("百位数:" + (b / 100));
System.out.println("十位数:" + (b / 10 % 10));
System.out.println("十位数:" + (b % 100 / 10));
System.out.println("个位数:" + (b % 10));
/*测试自增自减运算符*/
/*
* 前缀式,符号在前++a,--a,先运算再使用
* 后缀式,符号在后a++,a--,先使用再运算
*
*/
int i = 0;
System.out.println("===============");
System.out.println(i++);//0
System.out.println(i);//1
System.out.println(++i);//2
}
}
逻辑运算符||分支结构
package cn.tedu.basic;
import java.util.Scanner;
//判断平年闰年
public class TestYear {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入年份:");
int year = scan.nextInt();
if (year % 4 == 0 & year % 100 != 0 || year % 400 ==0) {
System.out.println(year + "年是闰年");
}else{
System.out.println(year + "年是平年");
}
scan.close();
}
}
三元运算
package cn.tedu.basic;
//查找最大值
import java.util.Scanner;
public class TestMaxNumber {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入第一个值");
int a = scan.nextInt();
System.out.println("输入第二个值");
int b = scan.nextInt();
System.out.println("输入第三个值");
int c = scan.nextInt();
System.out.println("大的数是:" + (c>(a>b?a:b)?c:a>b?a:b));
scan.close();
}
}
方法的创建
package cn.tedu.method;
/*本类用于测试方法的特性*/
public class TestMethod {
public static void main(String[] args) {
/*通过方法名 + 参数来调用方法*/
System.out.println(0);
method1();
System.out.println(0);
int a = method2(20);
System.out.println(a);
System.out.println(method3(1, 2));
}
//返回值类型不是void的话必须要发回相同类型的值--return xxx;
private static int method3(int a, int b) {
return a + b;
}
private static int method2(int a) {
return a * a;
}
//创建自定义方法
/*方法定义的格式:
* 方法的修饰符 返回值类型 方法名(方法参数) {方法体}*/
public static void method1() {
System.out.println(1);
System.out.println(1);
System.out.println(1);
}
}
方法的重载
package cn.tedu.method;
/*本类用于测试方法的重载*/
public class TestMethodOverload {
public static void main(String[] args) {
/**
* 1.我们根据 方法名 + 参数列表 来确定具体调用哪个方法
* 2.方法的重载
* 在同一个类当中,存在多个同名的方法,但参数列表不同
* method(int a, String b) method(String b, int a)构成重载
* method(int a, String b) method(int a, String b)不构成重载
* 同名但参数数量不同一定构成重载
* 同名参数数量相同可能构成重载/对应位置上的参数类型不同重载,相同不重载
* ctrl + O 查看本类的方法名和参数类型
*/
method();
method(0.5);
method(1, 10);
}
public static void method() {
System.out.println("我没有参数");
}
public static void method(double a) {
System.out.println("我有参数了" + a);
}
public static void method(int a, String b) {
}
public static void method(String b, int a) {
}
//Duplicate method method(int, String) in type TestMethodOverload
//public static void method(int b, String a) {}
public static void method(int c, int d) {
System.out.println(c + 10*d / 20);
}
}
ctrl + O 查看本类的方法名和参数类型
变量
局部变量
方法内部
package cn.tedu.basic;
/*本类用于测试成员变量和局部变量*/
/**
* 成员变量和局部变量
1. 定义位置:成员变量定义在类中方法之外,局部变量定义在方法中
2. 作用范围:成员变量作用在整个类中,局部变量只能在定义它的方法或者语句中使用
3. 内存位置:成员变量存储在堆内存中,并且在堆内存中自动的赋予了默认值;局部变量存储在栈内存中,不会自动给默认值
4. 生命周期:成员变量在对象创建的时候存到堆内存中,在对象被回收的时候销毁;局部变量在方法或者语句执行的时候创建,方法或者语句执行完销毁
* @author tarena
*
*/
public class TestVarible2 {
//成员变量 定义时可以不用初始化(赋值),具有默认值,在整个类中都生效
static int sum;
static int a;
public static void main(String[] args) {
//局部变量:方法内或局部代码内使用,必须初始化,方法结束,局部变量释放
int sum = 100;
//输出就近原则
System.out.println(sum);//100
System.out.println(a);//0
}
}
成员变量
方法外部
package cn.tedu.basic;
//本类用于测试各类型的默认值
public class TestVariable {
//成员变量,可以不初始化
static String name;
static byte age;
static short birthYeat;
static int safe;
static long height;
static float weight;
static double salary;
static char co;
static boolean juge;
public static void main(String[] args) {
System.out.println(name);//引用类型的默认值null
System.out.println(age);//
System.out.println(birthYeat);
System.out.println(safe);//整数类型的默认值0
System.out.println(height);
System.out.println(weight);//浮点类型的默认值0.0
System.out.println(juge);
System.out.println(co);//字符类型的默认值为空
System.out.println(salary);//布尔类型的默认值为false
//输出本电脑的是几核的
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
成员变量和局部变量
- 定义位置:成员变量定义在类中方法之外,局部变量定义在方法中
- 作用范围:成员变量作用在整个类中,局部变量只能在定义它的方法或者语句中使用
- 内存位置:成员变量存储在堆内存中,并且在堆内存中自动的赋予了默认值;局部变量存储在栈内存中,不会自动给默认值
- 生命周期:成员变量在对象创建的时候存到堆内存中,在对象被回收的时候销毁;局部变量在方法或者语句执行的时候创建,方法或者语句执行完销毁
posted on 2021-06-02 19:10 无声specialweek 阅读(37) 评论(0) 编辑 收藏 举报