MOOC JAVA笔记

MOOC JAVA笔记

1.基础了解

JDK是开发人员安装的,它提供了开发java程序的必须工具

JRE是普通用户安装的,它提供了java的运行环境

JVM是java虚拟机运行程序的核心

2.程序的移植:

右击project ---show explore

\3. java标识符

使用标识符时,需要遵守几条规则:

​ \1. 标识符可以字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

​ \2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

​ \3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

​ \4. 标识符的命名最好能反映出其作用,做到见名知意

4.变量名

变量名首字母必须为:字母、下划线、$符

其余部分为任意多的字数、字母、下划线、$符

5.数据类型运用

在main 方法中定义的变量必须先赋值然后才能输出

6.java中的自动类型转换

Double 型兼容int型,即 80->80.0

但int并不兼容double类型,char类型也不兼容int型

7.java中的强制类型转换

 		double heightAvg1=176.2;
        int heightAvg2=(int)heightAvg1;

8.常量的应用

final char SEX1 = '女';

      final char SEX2 = '男';

      System.out.println(SEX1);

      System.out.println(SEX2);

常量一般用大写字母表示

9.Java中使用注释:

Java中的注释有三种类型:单行注释、多行注释、文档注释(可以用javadoc标记,生成更详细的文档信息)

文档注释以/**开头以*/结尾

多行注释以/*开头

10.运算符

Java 语言中常用的运算符可分为如下几种:

Ø 算术运算符

Ø 赋值运算符

Ø 比较运算符

Ø 逻辑运算符

Ø 条件运算符

11.java中的算数运算符

自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴

练习:
public class HelloWorld{

  public static void main(String[] args) {

          int age1=24;

          int age2=18;

          int age3=36;

          int age4=27;

          int sum = age1+age2+age3+age4;

          double avg = (age1+age2+age3+age4)/4;

          int minus = age1-age2;

          int newAge = --age1;        

          System.out.println("年龄总和:"+sum);

          System.out.println("平均年龄:"+avg);

          System.out.println("年龄差值:"+minus);

          System.out.println("自减后的年龄:"+newAge);

 

     }

}

13.java中的条件运算符

条件运算符( ? : )也称为 “三元运算符”

public class HelloWorld{
public static void main(String[] args) {
int score=68;
String mark = (score >=60) ? "及格" : "不及格";
System.out.println("考试成绩如何:"+mark);
}
}

14.java中运算符的优先级

在实际开发中,一般会使用小括号辅助进行优先级管理

15.java条件语句之if..else

public class HelloWorld {
public static void main(String[] args) {
int age = 25;
if (age >18){
System.out.println("成年");
}else {
System.out.println("未成年");
}

}

}

16java条件语句之多重if

public class HelloWorld {
public static void main(String[] args) {
int age = 25;
if (age >60){
System.out.println("老年");
}
else if (age>18&&age<40){
System.out.println("少年");
}
else if (age>40&&age<60){
System.out.println("中年");
}
else {
System.out.println("童年");
}

}

}

17.java条件语句之嵌套if

public class HelloWorld {
public static void main(String[] args) {
int score = 94;
String sex = "女";
if (score>80){
if (sex == "女"){
System.out.println("进入女子组决赛");
}
}
}

}

18.java条件语句之switch

使用 switch 语句补全代码,设置属于你的菜谱:如果今天是星期一、三、五,则早餐吃包子,如果是星期二、四、六,则早餐吃油条,如果是星期日,则吃“主席套餐”
public class HelloWorld {
public static void main(String[] args) {
char today='一';
switch(today){
case '一':
case '三':
case '五':
System.out.println("吃包子");
break;
case '日':
System.out.println("吃主席套餐");
break;
default:
System.out.println("吃油条");
}

19.java循环语句之while

java常用的三种循环:while do.....while for
public class HelloWorld {
public static void main(String[] args) {

int i = 1; // 代表 1 - 5 之间的数字

// 当变量小于等于 5 时执行循环
while ( i < 5 ) {

// 输出变量的值,并且对变量加 1,以便于进行下次循环条件判断
System.out.println(i);
i++;
}
}

}

20.java循环语句之 do while

计算50以内偶数之和:
public class HelloWorld {
public static void main(String[] args) {

int sum = 0; // 保存 1-50 之间偶数的和

int num = 2; // 代表 1-50 之间的偶数

do {
//实现累加求和

```
  sum += num ;
```

num = num + 2; // 每执行一次将数值加2,以进行下次循环条件判断

} while ( num <=50 ); // 满足数值在 1-50 之间时重复执行循环

System.out.println(" 50以内的偶数之和为:" + sum );
}

}

21.java循环语句之for循环

1到100之间不能被3整除的数之和为
public class HelloWorld {
public static void main(String[] args) {
int sum = 0; // 保存不能被3整除的数之和

// 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环
for (int i = 1; i<= 100;i++ ) {

// 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除
if (i % 3 != 0) {
sum = sum + i; // 累加求和
}
}

System.out.println("1到100之间不能被3整除的数之和为:" + sum);
}

}

22.java循环跳转语句之break

实现功能:循环将 1 到 10 之间的整数相加,如果累加值大于 20,则跳出循环,并输出当前的累加值。
public class HelloWorld {
public static void main(String[] args) {

// 保存累加值
int sum = 0;

// 从1循环到10
for (int i = 1; i <= 10; i++) {

// 每次循环时累加求和
sum = sum + i;

// 判断累加值是否大于20,如果满足条件则退出循环
if ( sum >20 ) {

System.out.print("当前的累加值为:" + sum);
break;

//退出循环

}
}
}

}

23.java循环语句之continue

continue 的作用是跳过循环体中剩余的语句执行下一次循环
练习:
求 1 到 10 之间的所有偶数的和。
public class HelloWorld {
public static void main(String[] args) {

int sum = 0; // 保存累加值

for (int i = 1; i <= 10; i++) {

// 如果i为奇数,结束本次循环,进行下一次循环
if ( i %2 !=0 ) {
continue;

}

sum = sum + i;
}

System.out.print("1到10之间的所有偶数的和为:" + sum);
}

}

24.编程练习

给定一个小于10位的数,判断它是几位数。
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
if(num>=0&&num<999999){
    while(num!=0){
        count++;
        num/=10;
        

    }
    System.out.println("这是一个"+count+"位数");

}else{
    System.out.print("输入有误");
}

}
}
为指定成绩加分,直到分数大于等于 60 为止,输出加分前和加分后的成绩,并统计加分的次数
public class HelloWorld {
    public static void main(String[] args) {
        

        // 变量保存成绩
        int score = 53; 
        
        // 变量保存加分次数
        int count = 0;


        //打印输出加分前成绩 
        System.out.println("加分前成绩"+score);
        // 只要成绩小于60,就循环执行加分操作,并统计加分次数
        while(score<60){
            score += 1;
            count++;
            
        }
                        
        //打印输出加分后成绩,以及加分次数
      
        System.out.println("加分后成绩:"+score);
        System.out.println("共加了:"+count+"次");



    }

}

25.编程代码优化

使用Scanner工具类接受用户输入的信息
String 变量 = new Scanner(System.in).nextInt();

26.用IDEA调试程序

找到一个断点:

这样当程序执行到断点时,系统会返回当前的变量值,用f8进行步进调试,一行一行的执行代码,并且返回当前的返回值

27.进阶练习

打印每个班的学生平均成绩

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Arrays;
import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        int classNum= 3;
        int stuNum=4;
        int sum=0;
        double avg = 0;
        for(int i =1;i <=classNum;i++){
            System.out.println("****请输入第"+i+"个班级的成绩****");
            sum = 0;
            for (int j = 1;j<=stuNum;j++){
                System.out.print("请输入第"+j+"个学员的成绩:");
                int score = new Scanner(System.in).nextInt();
                System.out.println("学员成绩:"+score);

                sum = sum + score;
                avg = sum / stuNum;
            }
            System.out.println("第"+i+"class学生的平均分为"+avg);
        }
    }}

28.数组

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

	// 定义一个数组,保存五名学生的成绩
	int[] scores = { 78, 93, 97, 84, 63 };

	// 输出数组中的第二个成绩
	System.out.println("数组中的第2个成绩为:" + scores[1]           );
}
}

29.如何使用java中的数组

数组名 = new 数据类型 [数组长度];

在声明数组的同时为它分配空间,如:

int [] scores = new int[5];

int [] scores = {78,91,84,68};等价于 int [] scores =new int [] {78,91,84,68};

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

	// 定义一个长度为5的字符串数组,保存考试科目信息
	String[] subjects = new String [5]                 ;
    
	// 分别为数组中的元素赋值
	subjects[0] = "Oracle";
	subjects[1] = "PHP";
	subjects[2] = "Linux";
	subjects[3] = "Java";
	subjects[4] = "HTML";
    
	System.out.println("数组中第4个科目为:" + subjects[3]          );
}

30.使用循环操作java中的数组

数组名.length 用于获取数组的长度
练习:
实现输出数组中的最大值、最小值和平均值:
public class HelloWorld {
    

    public static void main(String[] args) {
        
    	 // 定义一个整型数组,并赋初值
        int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
    
        int max = nums[0]; // 假定最大值为数组中的第一个元素
        int min = nums[0]; // 假定最小值为数组中的第一个元素
        double sum = 0;// 累加值
        double avg = 0;// 平均值
    
        for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素
            // 如果当前值大于max,则替换max的值
            if(max < nums[i]){
                max = nums[i];
            }
    
            if(min > nums[i]){
                min = nums[i];
            }
    
            // 如果当前值小于min,则替换min的值



            // 累加求和
            sum += nums[i];
    
        }
    
        // 求平均值
        avg = sum / nums.length;
    
        System.out.println("数组中的最大值:" + max);
        System.out.println("数组中的最小值:" + min);
        System.out.println("数组中的平均值:" + avg);
    }

}

31.练习

利用数组和输入的周数,完成输出:

输出本月(4周)的学习任务,并标记出本周的

运行效果:

img

实现代码:
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Arrays;
import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        //创建String数组,并为每一个元素赋值。赋值内容为第几周+学习内容
        String[] contentList = new String[35];
        contentList[0] = "【第1周】环境搭建与语法入门";
        contentList[1] = "【第2周】Java语法之循环、数组与方法";
        contentList[2] = "【第3周】面向对象之封装与继承";
        contentList[3] = "【第4周】面向对象之单例模式与多态";
        contentList[4] = "【第5周】常用工具类(上)";
        contentList[5] = "【第6周】常用工具类(下)";
        contentList[6] = "【第7周】常用工具类(下)";
        contentList[7] = "【第8周】前端基础之HTML与CSS";
        contentList[8] = "【第9周】前端基础之JavaScript与综合案例";
        contentList[9] = "【第10周】Java Web基础";
        contentList[10] = "【第11周】Java Web基础";
        contentList[11] = "【第12周】常用功能与过滤器";
        contentList[12] = "【第13周】监听器与项目实战";
        contentList[13] = "【第14周】监听器与项目实战";
        contentList[14] = "【第15周】MySQL基础";
        contentList[15] = "【第16周】MySQL基础";
        contentList[16] = "【第17周】Java数据库开发基础";
        contentList[17] = "【第18周】框架前置知识";
        contentList[18] = "【第19周】MyBatis基础";
        contentList[19] = "【第20周】MyBatis实现OA系统项目实战";
        contentList[20] = "【第21周】MyBatis实现OA系统项目实战";
        contentList[21] = "【第22周】Linux环境搭建与Redis应用";
        contentList[22] = "【第23周】Spring基础";
        contentList[23] = "【第24周】Spring基础";
        contentList[24] = "【第25周】Spring基础";
        contentList[25] = "【第26周】SSM开发社交网站";
        contentList[26] = "【第27周】Spring Boot电商项目实战";
        contentList[27] = "【第28周】Spring Boot电商项目实战";
        contentList[28] = "【第29周】面试";
        contentList[29] = "【第30周】多线程与分布式";
        contentList[30] = "【第31周】多线程与分布式";
        contentList[31] = "【第32周】Spring Cloud基础";
        contentList[32] = "【第33周】Spring Cloud电商实战";
        contentList[33] = "【第34周】Spring Cloud电商实战";
        contentList[34] = "【第35周】Zookeeper+Dubbo应用与面试";

        //提示信息
        System.out.print("您要开始第几周学习啦,直接输入数字吧:");
        //设置变量存储接收到的数据
        int week = new Scanner(System.in).nextInt();
        int month;
        //计算今天是几月(1-月第一周、4-月第4周)
        if (week / 4 != 0) {
            month = week / 4 + 1;
        } else {
            month = week / 4;
        }


        //计算输入的周是这个月的第几周

        //提示信息
        System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
        System.out.println("=======================================");

        //利用for循环,找到数组中对应这个月的内容输出
        for (int i = (month - 1) * 4; i < month * 4; i++) {
            try {
                if (i == (week -1)){
                    System.out.println("√" + contentList[i]);
                }else {
                    System.out.println(contentList[i]);
                }}
                catch(ArrayIndexOutOfBoundsException e ){
                    System.out.println("未发现第"+(i-1)+"周");
            }


        }

    }
}

        //根据当前月第几周,在输出此行时,前面添加“√”
posted on 2020-11-21 19:13  clinch  阅读(164)  评论(0编辑  收藏  举报