Java | 韩顺平 循序渐进学Java自用笔记---OOP基础 [ 更新中 ]

Java | 韩顺平 循序渐进学Java自用笔记---OOP基础 [ 更新中 ],第1张

Java | 韩顺平 循序渐进学Java自用笔记---OOP基础 [ 更新中 ] 第一章 Java概述

一、概述 1.1 什么是程序

程序:计算机执行某些 *** 作或解决某个问题而编写的一系列有序指令的集合

1.2 Java 技术体系平台

 

1.3 Java 重要特点

1) Java 语言是面向对象的(oop)

2) Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证

3) Java 语言是跨平台性的。[即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台]

4) Java 语言是解释型的[了解]

解释性语言:javascript,PHP, java

编译性语言: c / c++

区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行, 编译性语言, 编译后的代码, 可 以直接被机器执行, c /c++

1.4 Java 运行机制及运行过程

1.4.1 Java 语言的特点:跨平台性

JVM 虚拟机

 

1.4.2 Java 核心机制-Java 虚拟机 [JVM java virtual machine]

  • 基本介绍

1) JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中.

2) 对于不同的平台,有不同的虚拟机。

3) Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行” [说明]

1.5 什么是 JDK,JRE

1.5.1 JDK 基本介绍

1)JDK 的全称(Java Development Kit Java 开发工具包)

JDK = JRE + java 的开发工具 [java, javac,javadoc,javap 等]

2) JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独 安装 JRE 了。

 

1.5.2 JRE 基本介绍

1)JRE(Java Runtime Environment Java 运行环境)

JRE = JVM + Java 的核心类库[类]

2)包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。

 

1.5.3 JDK、JRE 和 JVM 的包含关系

1) JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)

2) JRE = JVM + Java SE 标准类库(java 核心类库)

3) 如果只想运行开发好的 .class 文件 只需要 JRE

 

1.6 Java 开发注意事项和细节说明

1.Java源文件以.java为拓展名。源文件的基本组成部分是类(class)。

2.Java应用程序的执行入口是main()方法。他有固定的书写格式:

   public static void main(String[] args){…}

3.Java语言严格区分大小写。

4.Java方法由一条条语句构成,每条语句以";"结束。

5.大括号都是成对出现的,缺一不可。

6.一个源文件中最多只能有一个public类。其他类的个数不限。

7.如果源文件包含一个public类,则文件名必须按此类名命名!

8.一个源文件中最多有一个public类。其他类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public类的main()方法。

9.编译后每一个类都对应一个class

 


二、 转义字符与注释

2.1 Java 常用的转义字符

在控制台,输入 tab 键,可以实现命令补全

t :一个制表位,实现对齐的功能

n :换行符

\ :一个

" :一个"

' :一个'

r :一个回车 System.out.println("韩顺平教育r 北京");

回车光标将从头开始!

2.2 注释(comment)

2.17.1 介绍:

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良 好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。

 

2.17.2 Java 中的注释类型

1) 单行注释 //

2) 多行注释

3) 文档注释

 

2.17.3 单行注释:

基本格式

格式: //注释文字

 

2.17.4 多行注释:

基本格式

格式:

2.17.5 使用细节

1) 被注释的文字,不会被 JVM(java 虚拟机)解释执行

2) 多行注释里面不允许有多行注释嵌套

2.17.6 文档注释

 

零钱

package com.lty.smallchange;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class SmallChangeSys {
    //化繁为简
    //1.先完成显示菜单,并可以选择
    //2.完成零钱通明细(1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以用String拼接
    //3.完成收益入账
    //4.消费
    //5.退出
    //6.业务逻辑
    public static void main(String[] args) {
        //定义相关的变量
        boolean loop = true;
        Scanner scanner = new Scanner(System.in);
        String key = "";

        //2.完成零钱通明细(1)可以把收益入账和消费,保存到数组(2)可以使用对象(3)简单的话可以用String拼接
        String details = "-------------零钱通明细-------------";

        //3.完成收益入账,完成功能驱动程序员增加新的变化和代码
        //定义新的变量
        double money = 0;
        double balance = 0;
        Date date = null; //alt+enter 引入新的包 , date 是 java.util.Date 类型 , 表示日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        //4.消费
        //定义新变量,保存消费说明
        String note = "";
        do {
            System.out.println("n==========零钱通菜单==========");
            System.out.println("ttt1 零钱通明细");
            System.out.println("ttt2 收益入账");
            System.out.println("ttt3 消费");
            System.out.println("ttt4 退出");

            System.out.println("请输入(1-4): ");
            key = scanner.next();
            switch (key) {
                case "1":
                    System.out.println(details);
                    break;
                case "2":
                    System.out.println("收益入账金额");
                    money = scanner.nextDouble();
                    //money 的值范围需要校验

                    //编程思想*******************************************************************
                    //找出不正确金额的条件,给出提示即可
                    //过关斩将
                    if(money <= 0){
                        System.out.println("金额有误 需要 大于 0");
                        break;
                    }

                    balance += money;
                    //拼接收益入账信息
                    date = new Date(); //获取当前日期
                    //System.out.println(sdf.format(date));
                    details += "n收益入账t+" + money + "t" + sdf.format(date) + "t" + balance;
                    break;
                case "3":
                    System.out.println("消费金额");
                    money = scanner.nextDouble();
                    //money范围校验
                    if(money <= 0 || money > balance){
                        System.out.println("消费金额应该在 0-" + balance);
                        break;
                    }
                    System.out.println("请输入消费说明:");
                    note = scanner.next();
                    balance -= money;
                    details += "n" + note + "t-" + money + "t" + sdf.format(date) + "t" + balance;
                    break;
                case "4":
                    //用户输出4退出时,给出提示"你确定要退出吗? y/n",必须输入正确的y/n
                    //否则循环输入指令,直到输入y或者n

                    //思路
                    //(1)定义一个变量choice,接收用户输入
                    //(2)使用 while + break,来处理接收到的输入是y或者n
                    //(3)退出 while 后,在判断是输入的是y还是n
                    //(4)如下:一段代码完成一个功能
                    String choice = "";
                    while (true) {
                        System.out.println("你确定要退出吗? y/n");
                        choice = scanner.next();
                        //编程思想*******************************************************************
                        if ("y".equals(choice) || choice.equals("n"))
                            break;
                    }

                    if (choice.equals("y")) {
                        loop = false;
                        break;
                    } else if (choice.equals("n")) {
                        break;
                    }


                default:
                    System.out.println("输入有误");
            }

        } while (loop);
        System.out.println("------已退出零钱通系统-------");
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5693282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存