学习目标:
一周掌握 Java 入门知识
学习内容:
1、 搭建 Java 开发环境
2、 掌握 Java 基本语法
3、 掌握条件语句
4、 掌握循环语句
5、 数组
时间安排:
1、 周一至周五早上 8:30点—晚上9点
2、 周六周日自行安排
具体代码:
package Day01;
/**
* @Author: xuzhen
* @Date: 2020/9/20 16:22
* @Description:
* 一球从100米高度自由落下,每次落地后反跳回原高度的一半;
* 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
*/
public class Test1 {
/**
* main主函数
* @param args
*/
public static void main(String[] args) {
double sum=0;
double high=100;
int i;
for(i=1;i<=10;i++){
sum+=high;
high=0.5 * high;
}
System.out.println("第10次落地共经过(米) " +sum);
System.out.println("第10次反弹高度(米) " +high);
}
}
```java
package Day02;
/**
* @Author: xuzhen
* @Date: 2020/9/21 14:05
* @Description:
*/
public class Test3 {
public static void main(String[] args) {
byte b1 = 100;
short s1 = 10000;
int n1 = 1000000000;
long l1 = 1000000000000000000L;
float f1 = 7.17F;//默认是double类型,加F/f表示为float类型
double d1 = 3.1415926;
double d2 = 100;//整数能存放在比他大的double中
double d3 = 100.5;
double d4 = 100.5D;//D可以省略
char c1 = ' ';//不能为空字符常量
char c2 = 'a';
//char c3 = 'ab'; 一个变量只能存一个字符
char c4 = '\n';//换行
char c5 = '\t';//tab空格
char c6 = '\r';//回车
System.out.println(c4);
System.out.println(c5+"hello"+c6);
boolean flag1 = true;
boolean flag2 = false;
flag1 = flag2;//将flag2的值赋值给flag1
System.out.println(flag1);
}
}
```java
package Day03;
/**
* @Author: xuzhen
* @Date: 2020/9/22 14:38
* @Description:
*/
public class Test6 {
public static void main(String[] args) {
//正整数的移位 << >> >>>
System.out.println(3<<2); // 12
System.out.println(7<<3); // 7*8=56
// 对于正数的无符号右移和 右移 结果一样
System.out.println(16>>2);// 4
System.out.println(18>>2);// 4
System.out.println(5^9);//12
System.out.println(3>>2);
System.out.println(3>>>2);
System.out.println(~5);
// 负数的移位
// 负数的左移位还是为负数
System.out.println(-4<<2); // -4*2的2次方 =
/**
* -4的原码: 1 0000... 00000100
* * -4的反码: 1 1111... 11111011
* * -4的补码: 1 1111... 11111100
* * 开始移位 2
* 1 1111... 11110000
* 最后结果 = 取反+1
* 1 0000... 00001111 + 1
* :
* 1 0000... 00010000 =-16
*/
//?补码 = 反码+1
//负数是对于补码 进行移位 -4/2 =-2
System.out.println(-4>>1);
}
}
package Day04;
/**
* @Author: xuzhen
* @Date: 2020/9/23 17:16
* @Description:
* 打印出所有的 "水仙花数",所谓 "水仙花数 "
* 是指一个三位数,
* 其各位数字立方和等于该数本身。例如:
* 153是一个 "水仙花数 ",
* 因为153=1的三次方+5的三次方+3的三次方。
*/
public class TestLx1 {
public static void main(String[] args) {
int n1,n2,n3;
for (int i=100;i<1000;i++){
n1=i/100;
n2=(i%100)/10;
n3=(i%100)%10;
if (n1*n1*n1+n2*n2*n2+n3*n3*n3==i){
System.out.println(i);
}
}
}
}
package Day05;
import java.util.Scanner;
/**
* @Author: xuzhen
* @Date: 2020/9/24 18:38
* @Description:
* 输入某年某月某日,判断这一天是这一年的第几天?
*/
public class Work1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int y = sc.nextInt();
int r = sc.nextInt();
int sum = 0;
switch (y) {
case 12:
sum+=30;
case 11:
sum+=31;
case 10:
sum+=30;
case 9:
sum+=31;
case 8:
sum+=31;
case 7:
sum+=30;
case 6:
sum+=31;
case 5:
sum+=30;
case 4:
sum+=31;
case 3:
if (n % 4 == 0 && n % 100 != 0 || n % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
case 2:
sum+=30;
case 1:
sum+=r;
}
System.out.println(sum);
}
}
```java
package Day06;
/**
* @Author: xuzhen
* @Date: 2020/9/25 15:06
* @Description:
*/
public class Test2 {
public static void main(String[] args) {
//1、 调用方法 参数数组
int [] array ={10,20};
System.out.println("array---"+array);
add(array);// 会调用 参数是数组的add方法
System.out.println("方法外面的 arr[0]="+ array[0]);
// 2、调用方法,参数是int
int n =10;
System.out.println(n);
add(n);
System.out.println("方法外面 实参的值:"+n);
/**
* 以上方法调用 的结论: 对于参数为引用数据类型,方法外面和方法内部公用同一块内存,
* 也就是说 参数再传递时,将引用类型的地址赋值给 方法的形参
* 对于基本数据类型 ,方法的参数将 值的副本赋值给形参,这样形参的改变
* 不会影响实参的值
* 原因: 引用数据类型在参数传递时 是地址 (JVM对于堆内存的大小不可控)
* 基本数据类型在参数传递时 是值
*
*/
// 3、调用方法 参数是 类的地址
Student student = new Student(); // age默认为 18
System.out.println("方法调用之前: "+student.age); // 18
addAge(student); // 传的地址
System.out.println("方法外面 学生的年龄:"+student.age);
// 4、调用方法 参数是字符串 ,传递的是值
String uname ="李泽文";
uname = sayHello(uname);
System.out.println("我最后对"+uname+"sayHello");
}
学习感想:
一周过得很快,同时过得也很充实——从一个java小白,慢慢地认识、了解到java。
继续努力!