Java面向对象程序设计知识点总结

作者:邹伟志


第一章:Java入门

(一)核心概念与知识点

     1.Java的历史特点

        ①Java 是一种面向对象、跨平台的编程语言。它的 “一次编写,到处运行” 特性得益于 Java 虚拟机(JVM)。

        ②Java 具有简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性等特点。

       2.Java 开发环境的搭建

          ①需要安装 JDK(Java Development Kit),它包含了 JRE(Java Runtime Environment)和开发工具。

          ②配置环境变量,如 PATH,以便在命令行中能方便地运行 Java 命令。

      3.第一个Java程序

public class hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

个人心得:对于 Java 开发环境搭建,新手会觉得环境变量配置如同迷宫。其实,只要耐心寻找正确的指引,就像在黑暗中找到了灯塔。官方文档如同精准的地图,每一步的详细说明都是指引方向的路标。在配置过程中,每一次输入和选择都是走向成功的基石。


第二章:数据类型与运算符

(一)变量与常量

     1.基本的数据类型

        Java 有 8 种基本数据类型:byte(1 字节)、short(2 字节)、int(4 字节)、long(8 字节)、float(4 字节)、double(8 字节)、char(2 字节)、boolean(1 位,但实际占用 1 字节)。

     2.数据类型自动转换

     1:自动数据类型转换:在Java中,占用字节数少的数据类型的值,可以直接赋值给占用                 字节数多的数据类型的变量,比如short类型的值可以直接赋值给int类型的变量,或者把                  int类型的值赋值给double类型的变量。

      2:强制数据类型转换:强制类型转换则可以强制性地将占用字节数多的数据类型的数                   据转换成占用字节数少的数据类型的数据,但这个转换过程可能会存在数据精度丢失的                   问题

 (二)运算符与表达式

        1.算术运算符

             

        2.算数赋值运算符

public class Main {
    public static void main(String[] args) {
        int num1 = 7;
        int num2 = 3;
        System.out.println("交换前:num1=" + num1 + ",num2=" + num2);
        int num3 = num1;
        num1 = num2;
        num2 = num3;
        System.out.println("交换后:num1=" + num1 + ",num2=" + num2);
        num1 += 2;
        num2 += 2;
        System.out.println("加2后:num1=" + num1 + ",num2=" + num2);
    }
}

运行结果:

3.关系运算符

        关系运算符也称作比较运算符,关系运算符的运算结果为布尔类型

4.逻辑运算符

        逻辑运算符可以在表达式中生成组合条件,例如在执行特定语句块之前必须满足的两个或多个条件。使用逻辑运算符,可以描述这些组合条件。逻辑运算的返回结果只能为真或假。

(三)选择结构

1. if语句

选择结构用于在代码中做一些逻辑判断,当满足某些条件时,执行某段代码。if语句就是选择结构的代表。通过if语句,能够实现各种各样的逻辑判断。程序执行到if语句后会进行判断:当条件表达式1为true时,执行代码块1;否则,当条件表达式2为true时,执行代码块2;否则,当条件表达式3为true时,执行代码块3;否则,执行代码块n。其中,一个if语句之后可以有0至多个else if语句,可以有0或1个else语句。

import java.util.Scanner;

public class hello {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入学生成绩: ");
        int score = scanner.nextInt();

        if (score >= 90) {
            System.out.println("优");
        } else if (score >= 80) {
            System.out.println("良");
        } else if (score >= 70) {
            System.out.println("中");
        } else if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("不及格");
        }
    }
}

运行结果:

2. switch语句

switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果case全都不匹配,则进入default语句。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入表达式,数字与符号之间使用空格隔开");

        int num1 = sc.nextInt();
        char operator = sc.next().charAt(0);
        int num2 = sc.nextInt();

        switch (operator) {
            case '+':
                System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
                break;
            case '-':
                System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
                break;
            case '*':
                System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));
                break;
            case '/':
                System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));
                break;
            default:
                System.out.println("运算符号不合法!");
                break;
        }
    }
}

运行结果:

3:选择结构的嵌套

选择结构在使用上可以嵌套,if中的代码块也可以是switch语句,switch语句中的代码块也可以是if语句。通过嵌套,可以去判断更加复杂的逻辑

import java.util.Scanner;

public class Power {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份");
        int year = sc.nextInt();

        if (year % 400 == 0) {
            System.out.println(year + " 是闰年");
        } else {
            if (year % 100!= 0 && year % 4 == 0) {
                System.out.println(year + " 是闰年");
            } else {
                System.out.println(year + " 不是闰年");
            }
        }
    }
}

运行结果:

(四)循环结构

1. for 循环

for/*关键字*/(int i = 0;i < 5;i++){
    循环体;
}
//其中括号内的第一个表达式int i = 0是循环变量的初始化
//第二个表达式i < 5是判断退出循环的布尔表达式
//第三个表达式i++ 是每次循环操作结束后的一次对循环变量的操作,以退出循环
//三个表达式可以依据情况省略或在括号外书写,但分号不能省略

 2.while循环

        while语句相较于for循环更加简单,它的语法有点类似于if语句,如下所示

int i = 0;//对循环变量的初始化
while /*关键字*/ (i < 5/*布尔表达式*/){
    循环体;//当布尔表达式为true时会执行的操作
    i++;//一般会有循环变量的改变,以达到可能的退出循环的目的
}
//要避免死循环

 3.do...while... 循环

        不管是for循环还是while循环,都会在循环之前判断循环条件,如果条件刚开始就为false,那么循环体就不会被执行。实际开发中,可能会存在需要循环体至少执行一次的场景,此时就可以使用do...while循环语句。

int i = 0;
do{
    循环体;
    i++;
}while(i<5);
//先进行一次循环操作,再判断是否继续循环

4:break语句和continue语句

        在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。而continue则只能终止某次循环,继续下一次循环。

double sum = 0;//定义成绩的总和
double score = 0;//定义单科成绩
for(int i = 0;i < 5;i++) {
    System.out.print("请输入第" + (i + 1) + "门课的成绩:");
    score = scanner.nextDouble();
    if (score < 0) {
        break;//当输入的成绩为负值时,则会跳出循环
    }
    sum += score;
}
//循环结束后会判断此时的成绩是否为负数
//如果是则会报错,如果不是则正常计算平均值后输出
if(score < 0){
    System.out.println("录入错误!");
}else {
    System.out.println("平均分为" + (sum/5));
}

运行结果:

5:循环语句的嵌套

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值