Java学习之路--方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
* 测试Java方法
* @author 葛宇
*/
package 控制语句;

public class TestMethod {
public static void main(String[] args) {
//通过对象调用普通方法
TestMethod obj = new TestMethod();
obj.Method_1();
obj.Method_2(1, 2);
int total = obj.Method_3(1, 2);
System.out.println(total);
}

void Method_1() {
System.out.println("This is Method_1");
}

void Method_2(int a,int b) {
int sum = a+b;
System.out.println(sum);
}

int Method_3(int a,int b) {
int sum = a+b;
return sum;
//return两个作用:结束方法的运行;返回值
}
}

/*
* 要点:
* 实参的数目,数据类型,次序必须和对应方法的形参列表匹配
* Java中的普通参数传递均为值传递
*/

Java学习之路--逻辑运算符和位运算符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
* 测试逻辑运算符和位运算符
* @author 葛宇
*/
package 数据类型和运算符;

public class TestOperator_3 {
public static void main(String[] args) {
/*
* 与:& 同真则真,有假则假
* 或:| 同假则假,有真则真
* 非:! 真假颠倒
* 异或:^ 同假异真
* 短路与:&& 有假则假
* 短路或:|| 有真则真
*
* 短路方式从左向右计算,若左边表达式计算结果足够判断则右边不进行表达式计算
*/

//////////////////////////////////////////////////

/*
* 取反:~
* 按位与:&
* 按位或:|
* 按位异或:^
* 左移:<< 左移一位相当于乘2
* 右移:>> 右移一位相当于除2取商
*/

System.out.println(3<<2); //相当于11左移两位变成1100,输出12
System.out.println(3>>1); //相当于11右移一位变成1,输出1
}
}

Java学习之路--类型转换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* 类型转换的误区
* @author 葛宇
*/
package 数据类型和运算符;

public class TestTypeConvertError {
public static void main(String[] args) {

int a = 1000000000; //10亿
int b = 20;

int ans1 = a*b;
System.out.println(ans1); //表达式范围越界

long ans2 = a*b;
System.out.println(ans2); //表达式范围越界

long ans3 = a*((long)b);
System.out.print(ans3); //正确输出
}
}