Java从入门到精通06==》前五节知识总结、练习题

Java从入门到精通06

2023.7.23

01==》计算机基础、Java概述、Java开发环境搭建、程序编写、注释、关键字、标识符

计算机基础

  • 为什么要了解计算机基础?
    因为我们要学习Java就得了解一些计算机,我们编程就是写给计算机看的。
  • 什么是计算机,计算机发展史
  • 计算机的组成
    软件部分,硬件部分
  • 计算机体系结构
    软件在硬件基础上运行
  • 常用dos命令
dir                          查看当前文件夹内容
cd文件夹名                    进入指定文件夹
cd...                        返回上一级文件夹
cd\                          退出到磁盘根目录
cls                          清屏

Java概述

  • Java为啥产生(一个意外)
  • Java的发展史
    jdk每个版本新增的功能,是的Java日益强壮和完善

Java开发环境搭建

  • 什么是Java
    编程语言,开发环境
  • Java应用邻域
  • jdk的下载与安装
  • jdk和jre的介绍
  • 跨平台特性
    得益于jvm虚拟机

HelloWorld

  • Java程序介绍
    编写的代码即源文件被javac编译器编译为字节码文件,字节码被java解释器解释为机器码,让电脑能够看懂程序意思
  • 源代码编写
  • 生成字节码文件
  • 运行字节码文件

注释,关键字,标识符

  • 程序注释
    增加程序的可读性,找bug
  • 关键字
    一些已经被Java占用的英文单词,我们不能直接拿过来当作标识符使用
  • 标识符
    除了关键字意外基本上都是标识符,有特定的组成元素和规则

数据

  • 程序概念
    程序=数据+概念
  • 数据类型
    基本数据类型,引用数据类型
  • 常量
    一些不变的量

02==》开发更具idea的使用、计算机内存原理(浅谈)、Java数据类型、数据类型转换、运算符

开发工具(idea)

  • 开发工具简介
  • idea安装
  • 创建项目和模块
  • 编写代码.
  • idea项目目录
  • idea常用快捷键

计算机内存原理

  • 计算机内存单元(字节)
  • 什么是进制
  • 常见进制
  • 进制前缀
  • 进制间转换

Java数据类型

  • Java数据类型分类
  • 基本数据类型
  • 常见数据类型
  • 定义变量的格式
  • 变量的使用注意事项

数据类型转换

  • 数据类型转换(小转大直接成功,大转小需要强制转换,且容易损失数据)
  • 数据类型转换方式
    自动类型转换,强制类型转换
  • 数据类型转换原理(了解)
    原码反码补码

运算符

  • 算数运算符
  • 运算赋++,- - 的使用规律
  • 赋值运算符

03==》运算符、引用数据类型、流程控制语句中的if、else、if else

运算符

  • 比较运算符
  • 逻辑运算符
  • 三木运算(三元运算)

引用数据类型

  • Scanner类
  • 随机数Random

流程控制语句

  • 选择结构if
  • if else
  • if …else if…else

04==》流程控制while、do while、for循环、嵌套结构、控制循环结构、switch分支结构、一维数组

流程控制语句

  • while循环语句
  • do while循环语句
  • for循环
  • 嵌套循环
  • 控制循环结构
    break,continue,return

switch选择结构

一维数组

  • 理解什么是数组
  • 格式化数组
    动态格式化,静态格式化
  • 数组赋值
  • 数组取值
    直接取直,赋值取值

05==》流程控制foreach、深谈数组、多维数组、数据工具Arrays类

流程控制foreach

for 的强循环,当想改变数组元素时,切记不要使用foreach

深谈数组

  • 内存中的数组
  • 数组异常情况
    数组越界、指针为空(指针丢失)
  • 多维数组

数组工具Arrays类

格式与其使用方法

  • Arrays.toString(数组名)
  • Arrays.sort(数组名)
  • Arrays.equals(数组1名,数组2名)
  • 数据类型(不确定用var) 新数组名=Arrays.copyOf(被复制的数组名,新数组的长度)
  • Arrays.fill(数组名,开始索引(包括),结束索引(不包括),新值)

例题

例题一

编写一个程序HelloWorld,使用dos命令生成字节码文件并运行
参考答案:
程序:

class Test1{
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}

执行过程:
1、创建test文件,给文件命名并后缀改为.java
在这里插入图片描述2、在文件根目录路径打开cmd在这里插入图片描述3、使用javac创建字节码文件
在这里插入图片描述4.使用java执行字节码文件
在这里插入图片描述

例题二

计算程序应该依次输出数字几,程序如下

public class 计算数字 {
    public static void main(String[] args) {
        int a=8;
        int b=4;
        int c=3;
        int sum=a-- * b++ - --c + ++a + --c * ++b+a++;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(sum);
    }
}

参考答案:
a为9,b为6,c为1,sum为52
在这里插入图片描述

例题三

使用循环输出九九乘法表,规格如下图
在这里插入图片描述

参考答案:

public class 九九乘法表 {
    public static void main(String[] args) {
        for (int i=1;i<10;i++){
            for (int j=1;j<=i;j++){
                System.out.print(i+"✖"+j+"="+i*j+"  ");
            }
            System.out.println();
        }
    }
}

结果展示:
在这里插入图片描述

例题四

使用循环输出等腰三角形,假设一行高度为1,要求等腰三角形的高为5
在这里插入图片描述参考答案:

public class 等腰三角形 {
    public static void main(String[] args) {
        for (int i=1;i<6;i++){
            for (int j=0;j<5-i;j++){
                System.out.print(" ");
            }
            for (int j=1;j<=2*i-1;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
 

在这里插入图片描述

例题五

设计一个程序,输入一个年月日,得出那天是那年的第几天。
参考答案:

import java.util.Scanner;
public class 年月日计算是那年的第几天 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int day=0;
        System.out.print("请输入年份:");
        int a= sc.nextInt();
        System.out.print("请输入月份:");
        int b= sc.nextInt();
        System.out.print("请输入日份:");
        int c=sc.nextInt();
        int run[]=new int[]{0,31,29,31,30,31,30,31,31,30,31,30,31};
        int ping[]=new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
        if (a%400==0|(a%4==0&a%100!=0)){
            for (int i=0;i<b;i++){
                day=day+run[i];
            }
            System.out.println("这是"+a+"年的第"+(c+day)+"天");
        }
        else {
            for (int i=0;i<b;i++){
                day=day+ping[i];
            }
            System.out.println("这是"+a+"年的第"+(c+day)+"天");
        }
    }
}

在这里插入图片描述

例题六

设计一个程序,当你输入一个数时,逆序将其输出
参考答案1:

import java.util.Scanner;
public class 输入一个数时逆序将其输出 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        String a=new String();
        a= sc.next();
        for (int i=a.length()-1;i>-1;i--){
            System.out.print(a.charAt(i));
        }
    }
}

在这里插入图片描述

参考答案2:

import java.util.Scanner;
public class 输入一个数时逆序将其输出01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int num = sc.nextInt();
        System.out.print("它的倒序是:");
        while (num!=0){
            System.out.print(num%10);
            num/=10;
        }
    }
}

在这里插入图片描述

例题七

随机生成1~100的数,猜其大小,猜大了猜小了都提示,知道猜中为止
参考答案:

import java.util.Random;
import java.util.Scanner;
public class 猜数字 {
    public static void main(String[] args) {
        Random random = new Random();
        Scanner sc = new Scanner(System.in);
        int a= random.nextInt(100)+1;
        System.out.print("请输入你猜的数:");
        int b= sc.nextInt();
        while (a!=b){
            if (a>b){
                System.out.println("您猜的数小了,请重新输入!");
            }else{
                System.out.println("您猜的数大了,请重新输入!");
            }
            System.out.print("请输入新的数:");
            b= sc.nextInt();
        }
        System.out.println("你猜对了!");
    }
}

在这里插入图片描述

例题八

输入三个数并排序
参考答案傻瓜方法:

import java.util.Scanner;
public class 三数排序 {
    public static void main(String[] args) {
        System.out.println("请输入三个数:");
        Scanner sc= new Scanner(System.in);
        int a;int b;int c;
        a= sc.nextInt();
        b=sc.nextInt();
        c= sc.nextInt();
        if (a>b){
            if(b>c){
                System.out.println("三数由小到大排序为:"+c+"    "+b+"    "+a);
            }
            else if (a > c)
            {
                System.out.println("三数由小到大排序为:"+b+"    "+c+"    "+a);
            }
            else{
                System.out.println("三数由小到大排序为:"+b+"    "+a+"    "+c);
            }
        }
        else if (a>c){
            System.out.println("三数由小到大排序为:"+c+"    "+a+"    "+b);
        }
        else if (b>c) {
            System.out.println("三数由小到大排序为:"+a+"    "+c+"    "+b);
        }
        else {
            System.out.println("三数由小到大排序为:"+a+"    "+b+"    "+c);
        }
    }
}

在这里插入图片描述
参考答案三元运算:

import java.util.Scanner;
public class 三叔排序01 {
    public static void main(String[] args) {
        System.out.println("请输入三个数:");
        Scanner sc= new Scanner(System.in);
        int a;int b;int c;
        a= sc.nextInt();
        b=sc.nextInt();
        c= sc.nextInt();
        System.out.println("三数由小到大排序为:");
        System.out.println(a>b?(b>c?c+" "+b+" "+a:(a>c?b+" "+a+" "+c:b+" "+c+" "+a)):(b>c?(a>c?c+" "+a+" "+b:a+" "+c+" "+b ):a+" "+b+" "+c));
    }
}

在这里插入图片描述

例题九

输入三个边长,判断能不能组成三角形,若能指出可以组成什么三角形
参考答案:

import java.util.Scanner;
public class 判断三角形 {
        public static void main(String[] args) {
            System.out.println("请输入三个边长:");
            Scanner sc= new Scanner(System.in);
            int a= sc.nextInt();
            int b=sc.nextInt();
            int c= sc.nextInt();
            if (a+b>c&&a+c>b&&b+c>a){
                if (a>b){
                    if(b>c){
                        if (a*a>b*b+c*c){
                            System.out.println("这三条边可以组成钝角三角形");
                        }
                        else if (a*a==b*b+c*c){
                            System.out.println("这三条边可以组成直角角三角形");
                        }
                        else {
                            System.out.println("这三条边可以组成锐角角三角形");
                        }
                    }
                    else if (a > c)
                    {
                        if (a*a>b*b+c*c){
                            System.out.println("这三条边可以组成钝角三角形");
                        }
                        else if (a*a==b*b+c*c){
                            System.out.println("这三条边可以组成直角角三角形");
                        }
                        else {
                            System.out.println("这三条边可以组成锐角角三角形");
                        }
                    }
                    else{
                        if (c*c>b*b+a*a){
                            System.out.println("这三条边可以组成钝角三角形");
                        }
                        else if (c*c==b*b+a*a){
                            System.out.println("这三条边可以组成直角角三角形");
                        }
                        else {
                            System.out.println("这三条边可以组成锐角角三角形");
                        }
                    }
                }
                else if (a>c){
                    if (b*b>c*c+a*a){
                        System.out.println("这三条边可以组成钝角三角形");
                    }
                    else if (b*b==c*c+a*a){
                        System.out.println("这三条边可以组成直角角三角形");
                    }
                    else {
                        System.out.println("这三条边可以组成锐角角三角形");
                    }
                }
                else if (b>c) {
                    if (b*b>c*c+a*a){
                        System.out.println("这三条边可以组成钝角三角形");
                    }
                    else if (b*b==c*c+a*a){
                        System.out.println("这三条边可以组成直角角三角形");
                    }
                    else {
                        System.out.println("这三条边可以组成锐角角三角形");
                    }
                }
                else {
                    if (c*c>b*b+a*a){
                        System.out.println("这三条边可以组成钝角三角形");
                    }
                    else if (c*c==b*b+a*a){
                        System.out.println("这三条边可以组成直角角三角形");
                    }
                    else {
                        System.out.println("这三条边可以组成锐角角三角形");
                    }
                }
            }
            else{System.out.println("他不能组成三角形!!!");
        }
    }
}

在这里插入图片描述
我的可能有些繁琐,只是参考答案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我头像真的只是只猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值