- day1
- day2
- day3
- day4
- day5
- day6
- day7
- day8
- day9
- day10
- day11
- day12
1:jdk jre jvm三这是包含关系 jdk > jre > jvm.
jdk = jre + java开发工具(java.exe,javac.exe,javadoc.exe)
jre = jvm + java se的核心类库
2:为了在任何环境下都能运行Java源文件,如何配置环境变量请百度。
JAVA_HOME = bin的上一层目录
path = %JAVA_HOME%bin
3.cd del md cd… cd dir exit rd
4.创建Java文件:ChairMan.java
public class ChairMan{
public static void main(String[] args){
System.out.println("姓名:");
System.out.prinln();
System.out.println("性别:男");
System.out.println("家庭住址:北京");
}
}
编译:javac ChairMan.java
运行:java ChairMan
1.
2.
3.
byte(8bit) short(16bit) int(32bit) long(64bit)
char(16bit)
flaot(32bit) double(64bit)
boolean
引用数据类型:类,接口,数组。
byte < short < int < long < float < double
容量大 → 容量小
使用强转符:()
可能会出现精度损失。
1.
相同点1:& && 的运算结果相同
相同点2:当符号左边是true时,二者都会执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的运算,&&则回停止符号右边的运算
Z = 44
public class CompareTest{
public static void main(String[] args){
int num1 = 10;
int num2 = 20;
int num3 = 30;
int max = (num1 > num2) ? num1 : num2;
int maxPlus = (max > num3) ? max : num3;
System.out.println(maxPlus);
if(num1 < num2){
int max = num2;
if(max < num3){
max = num3;
}else{
max = max;
}
}else{
int max = num1;
if(max < num3){
max = num3;
}else{
max = max;
}
}
if(num1 > num2 && num1 > num3){
int max = num1;
}else if(num2 > num1 && num2 > num3){
max = num2;
}else{
max = num3;
}
}
}
public class HomeWork{
public static void main(String[] args){
double num1 = 12;
double num2 = 22;
if(num > 10 && num2 < 20){
System.out.println(num1 + num2);
}else{
System.out.println(num1 * num2);
}
}
}
public class HomeWork{
public static void main(String[] args){
int num1 = 100;
float num2 = 78F;
double temp = num1;
num1 = num2;
num2 = temp;
}
}
day4
1.
byte short char int 枚举类型 String类型
int a = 3;
int x = 100;
switch(a){
case 1:
x += 5;
break;
case 2:
x += 10;
break;
case 3:
x += 16;
break;
default:
x += 34;
break;
}
从键盘上取char
string str = scan.next(); char c = str.charAt(0);day5
1.
1.循环条件返回false 2.再循环体内,一旦执行到break,跳出循环
123123123123
见附件
break可以使用在switch-case和循环结构中
continue只能使用在循环结构中
见附件
附件:
Exer3.java
class Exer3 {
public static void main(String[] args) {
for(int i = 1;i <= 1000;i++){
int sum = 0;
for(int j = 1;j <= i/2;j++){
if(i % j == 0){
sum += j;
}
}
if(sum == i){
System.out.println(i);
}
}
}
}
Exer5.java
class Exer5 {
public static void main(String[] args) {
for(int i = 1;i < 10;i++){
for(int j = 1;j <= 10 - i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
day6
1.
int[] arr = new int[1]//动态初始化
String[] arr = new String[]{1,2,3}//静态初始化
数组一旦初始化,其长度就是一定的 arr.length 且长度不可修改
int [][] arr = new int[4][3]//动态初始化
int [][] arr = new int[4][]//动态初始化2
int [][] arr = new int[][]{{1,2,3},{4,5,6}}//静态初始化
见附件
整形 0
引用数据类型 null
boolean false
浮点型 0.0
char 0 (ascii)
附件:
ArrayExer2.java
package com.popq.exer;
public class ArrayExer2 {
public static void main(String[] args) {
int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};
for(int i = 0;i < arr.length;i++) {
for(int j = 0;j < arr[i].length;j++) {
System.out.println(arr[i][j]);
}
}
}
}
day7
1.
package com.popq.day7;
public class exer1 {
public static void main(String[] args) {
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
for(int i = 0;i < arr.length - 1;i++) {
for(int j = 0;j < arr.length - 1 - i;j++) {
if(arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for(int i = 0;i < arr.length;i++) {
System.out.println(arr[i]);
}
}
}
快速排序的时间复杂度:O(nlogn) 冒泡排序的时间复杂度:O(n^2) 堆排序,归并排序 2.
package com.popq.day7;
public class Exer2 {
public static void main(String[] args) {
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int[] arr1 = new int[arr.length];
for(int i = 0;i < arr.length;i++) {
arr1[i] = arr[arr.length - i - 1];
}
arr = arr1;
for(int i = 0;i < arr.length;i++) {
System.out.println(arr[i]);
}
}
}
3.
package com.popq.day7;
public class Exer3 {
public static void main(String[] args) {
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int[] arr1 = new int[arr.length];
for(int i = 0;i < arr.length;i++) {
arr1[i] = arr[i];
}
for(int i = 0;i < arr.length;i++) {
System.out.println(arr1[i]);
}
}
}
4.
package com.popq.day7;
import java.util.Scanner;
public class Exer4 {
public static void main(String[] args) {
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
Scanner scan = new Scanner(System.in);
//请输入你想查看的数
System.out.println("请输入你想查看的数");
int number = scan.nextInt();
boolean isIn = false;
int index = 0;
for(int i = 0;i < arr.length;i++) {
if(arr[i] == number) {
index = i;
isIn = true;
break;
}
}
if(isIn) {
System.out.println(index);
}else {
System.out.println("输入的数不存在");
}
}
}
5. ArrayIndecOutOfBounderException:数组角标越界异常 合理范围:[0,arr.length - 1] 越界:arr[- 1],arr[arr.length] NullPointerException:空指针异常 int[] arr = null; arr[0];day8
1.
1.类及类的成员:属性,方法,构造器,代码块,内部类。
2.面向对象的三大特征:封装,继承,多态
3.其他关键字:this,super,abstract,interface,static,final,package,import
面向对象的编程思想(类,对象,面向对象的三大特征。。。) 2. 类:抽象的,概念上的内容 对象:实在的一个个体 对象是类派生出来的 3. 1.创建类 2.类的实体化 3.调用对象的结构:‘对象.属性’ ‘对象.方法’ 4.
5. 是,是,否,是day9
尚硅谷 p218 每天一练
1.
1.创建对象
2.初始化对象
2.
默认初始化
显式初始化
构造器中初始化
对象.方法或对象.属性 给属性赋值
3.
this:属性、方法、构造器
this:理解为当前对象,当前正在创建的对象
4.
private,缺省,protected,public
5.
```java
private double radius;
public void setRadius(double radius){
this.radius = radius;
}
public double getRadius(){
return radius;
}
public double findArea(){
return Math.Pi * radius * radius;
}
```
day11
day12


