JAVA 计算机、程序和Java概述

一、计算机概述

计算机包括硬件 ( hardware ) 和软件 ( software ) 两部分

计算机主要由以下几个硬件组成
• 中央处理器 ( CPU )
• 内存 ( 主存 )
• 存储设备 ( 例如 , 磁盘和光盘 )
• 输入设备 ( 例如 , 鼠标和键盘 )
• 输出设备 ( 例如 , 显示器和打印机 )
• 通信设备 ( 例如 , 调制解调器和网卡 )

中央处理器是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。(中央处理器是从内存中获取指令 ,然后执行这些指令)

提到内存首先我们要了解信息是如何存储在计算机中的 。其实它就是靠存储单元来存储的,最小的存储单元就是字节(byte),然后每个字节又是由8个比特(bit)构成。二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位。计算机的内存由一个有序的字节序列组成用于存储程序及程序需要的数据,而且每个字节都有一个唯一的地址。计算机的内存(RAM)是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。程序和数据被永久地存放在存储设备上,当计算机确实要使用它们时再移入内存,因为从内存读取比从存储设备读取要快得多。

1kb = 1024b   (b指字节不是比特)
1mb= 1024kb
1gb = 1024mb
1tb  = 1024gb

软件定义
软件是一系列按照特定顺序组织的计算机数据和指令的集合。
软件分类
一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。
软件开发
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。

那么软件是如何开发出来的呢?
需求分析------》需求设计------》编码------》测试------》后期维护
在软件开发的过程中我们进行编码,那么肯定会与计算机语言打交道,那么我们如何才能把自己的想法和要求交给计算机去执行呢?那么我们就要研究怎么和计算机说话。计算机用的是计算机语言,也就是二进制。而我们人去识别二进制却比较困难。所以我们创造出了汇编语言。

汇编语言:使用短的描述性单词(称为助记符)来表示每一条机器语言指令。例如:助记符 add — 般表示数字相加,sub 表示数字相减。
这是我们发现虽然汇编语言更容易理解,但是要清楚CPU是如何工作的。所以又有了高级语言,用高级语言编写的程序称为源程序,由于计算机不能运行源程序, 源程序必须被翻译成可执行的机器代码 。翻译可以由另外一种称为解释器或者编译器的编程工具来完成 ,以下用图片来展示。


二、Java概述


Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[2]  。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

 

Java语言的一个非常重要的特点就是与平台的无关性,下面这个图能更形象的表现出跨平台的特性。

而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

下面来编码一个简单的程序程序

先创建一个文本文档改完名字后后缀改为.java,写好代码保存,在命令提示符中编译生成一个.class文件,再运行

public class haha{
    public static void main(String[] args){
        Ststem.out.println(hello,java)
   }
}

结果显示:       hello,java
注意:最好文件名和类名创建为一样的。
程序设计风格
正确的注释和注释风格、正确的缩进和空白块的风格
程序设计错误
语法错误、运行时错误、逻辑错误、遗漏括号、遗漏分号、遗漏引号、命名拼写错误

 


本章小结
1.计算机是存储和处理数据的电子设备。
2.计算机包括软件和硬件两部分。
3.硬件是计算机中可以触碰到的物理部分。
4.计算机程序,也就是通常所说的软件,是一些不可见的指令,它们控制硬件完成任务。
5.计算机程序设计就是编写让计算机执行的指令(即代码)。
6.中央处理器(CPU)是计算机的大脑,它从内存中获取指令并且执行这些指令。
7.一个比特是指二级制0或1。
8.一个字节是指8比特的序列。
9.千字节大约是1000字节,兆宇节大约是100万字节,千兆字节大约是10亿字节,万亿宇节大约是 1万亿宇节。
10.内存存储CPU要执行的数据和程序指令。
11.内存单元是字节的有序序列。
12.内存是不能长久保存数据的,因为断电时信息就会丢失。
13.机器语言是一套内嵌在每台计算机的原始指令集。
14.汇编语言是一种低级程序设计语言, 它用助记符表示每一条机器语言的指令。
15.高级语言类似英语, 易于学习和编写程序。
16.用高级语言编写的程序称为源程序。
17.编译器是将源程序翮译成机器语言程序的软件。
18.操作系统(OS) 是管理和控制计算机活动的程序。
19.Java 是与平台无关的, 这意味着只需编写一次程序, 就可以在任何计算机上运行。
20.Java 程序可以内嵌在 HTML 网页内, 通过 Web 浏览器下载. 给 Web 客户带来生动的动画和灵活的交互性。
21.Java源程序文件名必须和程序中的公共类名一致,并且以扩展名.Java结束。
22.每个类都被编译成一个独立的字节码文件, 该文件名与类名相同, 扩展名为 .class。
23.使用 javac 命令可以从命令行编译 Java 源代码文件。使用 java 命令可以从命令行运行 Java 类。
24.每个 Java 程序都是一套类的定义集合。 关键字 class 引入类的定义, 类的内容包含在块内。
25.一个块以左花括号({)开始, 以右花括号(})结束。
26.方法包含在类中。 每个可执行的 Java 程序必须有一个 main 方法。 main 方法是程序开始执行的入口。
27.Java 中的每条语句都是以分号(;)结束的,也称该符号为语句结束符。保留字或者称关楗字,对编译器而言都有特殊含义, 在程序中不能用于其他目的。
28.在 Java 中, 在单行上用两个斜杠( //)引导注释, 称为行注释; 在一行或多行用 / * 和 */ 包含注释, 称为块注释或者段注释。 编译器会忽略注释。
29.Java 源程序是区分大小写的。
30.编程错误可以分为三类: 语法错误 、 运行时错误和逻辑错误。 编译器报告的错误称为语法错误或者编译错误。
31.运行时错误指引起程序非正常结束的错误。 当一个程序没有按照预期的方式执行时, 产生逻辑错误.使用 java 命令可以从命令行运行 Java 类。
32.保留字或者称关楗字, 对编译器而言都有特殊含义, 在程序中不能用于其他目的。
 


代码练习题

public class Demo01_01{
    public static void main(String[] args){
        System.out.println((9.5 * 4.5 - 2.5 * 3) / (45.5 - 3.5));
    }
}

class Demo01_02{
    public static void main(String[] args){
        /*
        14 / (45 * 60 + 30)                 (km/s)
        14 / (45 * 60 + 30) / 1.6           (mi/s)
        14 / (45 * 60 + 30) / 1.6 * 60 * 60 (mi/h)
        */
        System.out.println(14 / (45 * 60 + 30.0) / 1.6 * 60 * 60);
    }
}

 

        /*
        第一年:312032486+365*24*60*60/7- 365*24*60*60/13+365*24*60*60/45
        System.out.println(312032486 + 365 * 24 * 60 * 60 / 7 - 365 * 24 * 60 * 60 / 13 + 365 * 24 * 60 * 60 / 45);
        */
        /*
        第二年:314812582+365*24*60*60/7- 365*24*60*60/13+365*24*60*60/45
        System.out.println(314812582 + 365 * 24 * 60 * 60 / 7 - 365 * 24 * 60 * 60 / 13 + 365 * 24 * 60 * 60 / 45);
        */
//由此可知以下思路
        /*
        sum=312032486       开始的总人口
        sum=sum+in-out  第一年过后的总人口
        sum=sum+in-out      第二年过后的总人口
        */
class Demo01_03{
    public static void main(String[] args){
       int sum = 312032486;
       int in = 365*24*60*60/7 + 365*24*60*60/45;
       int out = 365*24*60*60/13;
       sum=sum+in-out;
       System.out.println(sum);
       sum=sum+in-out;
       System.out.println(sum);
       sum=sum+in-out;
       System.out.println(sum);
       sum=sum+in-out;
       System.out.println(sum);
       sum=sum+in-out;
       System.out.println(sum);
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以计算加减乘除的计算器小程序package zj lec1; import java awt BorderLayout; import java awt FlowLayout; import java awt GridLayout; import java awt event ActionEvent; import java awt event ActionListener; import java math BigInteger; import javax swing JButton; import javax swing JFrame; import javax swing JLabel; import javax swing JPanel; import javax swing JTextField; public class 简易计算机 extends JFrame implements ActionListener { JTextField a b c d; JButton ok exit; public 简易计算机 { this setLayout new FlowLayout ; this add a new JTextField 10 ; a setText "0" ; a setHorizontalAlignment JTextField RIGHT ; this add b new JTextField 1 ; this add c new JTextField 10 ; c setText "0" ; c setHorizontalAlignment JTextField RIGHT ; this add ok new JButton " " ; this add d new JTextField 10 ; this add exit new JButton "Exit" ; a addActionListener this ; b addActionListener this ; c addActionListener this ; exit addActionListener this ; ok addActionListener this ; this setSize 540 70 ; this setTitle "简易计算机" ; this setVisible true ; this setResizable false ; } public static void main String[] args { new 简易计算机 ; } @Override public void actionPerformed ActionEvent e { if e getSource ok || e getSource c || e getSource a { BigInteger ia new BigInteger a getText ; BigInteger ic new BigInteger c getText ; String ib b getText ; 判断是用加法 还是减法 还是乘法 除法 if ib contains "+" { BigInteger id ia add ic ; d setText id toString ; } else if ib contains " " { BigInteger id ia subtract ic ; d setText id toString ; } else if ib contains " " { BigInteger id ia multiply ic ; d setText id toString ; } else if ib contains " " { BigInteger id ia divide ic ; d setText id toString ; } } else if e getSource exit { System exit 0 ; } } }">可以计算加减乘除的计算器小程序package zj lec1; import java awt BorderLayout; import java awt FlowLayout; import java awt GridLayout; import java awt event ActionEvent; import java awt event ActionListener; import java math BigInteger; import javax swing JButton; import javax swing J [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值