计算机基础知识
-
人机交互
- 图形化界面
- 命令行方式:通过控制台输入指令
-
快捷键和功能键
- Windows快捷键
- Windows + L:切换用户
- Windows + TAB:在任务栏上的按钮间循环
- Windows + E:启动“我的电脑”
- Windows + D:快速显示桌面
- Windows + R:执行“运行”命令
- Windows + U:打开“工具管理器”
- Windpws + M:将所有窗口最小化
- Windows + F:搜索文件或者文件夹
- Windows + F1:显示Windows帮助
- Windows + Shift + M:将最小化的窗口还原
- Windows + Ctrl + F:搜索计算机
- Windows + PauseBreak:打开“系统属性”对话框
- Ctrl快捷键
- Ctrl + A:全选
- Ctrl + C:复制
- Ctrl + V:粘贴
- Ctrl + X: 剪切
- Ctrl + Z :撤销
- Windows快捷键
常见DOS命令
- dir:列出当前目录下的文件以及文件夹
- md:创建目录
- rd:删除目录
- cd:改变指定目录(进入指定目录)
- cd.. :退回到上一级目录
- cd\:退回到根目录
- del:删除文件,删除一堆后缀名一样的文件*.txt
- exit:退出dos命令行
- cls:清屏
计算机语言分类
- 机器语言: 机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义
- 汇编语言: 汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言
- 高级语言: 使用普通英语进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行
Java语言概述和体系
- Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。是简单易学,完全面向对象,安全可靠,与平台无关的编程语言
- Java的起源:一个Green项目
- 1995年,Oak正式更名为java
- 1996年,Sun公司发布JDK1.0
- 1998年,发布了1.2,也叫java2
- 1999年,Sun公司把java技术分成了J2SE,J2ME,J2EE
- 2000年,JDK1.3,1.4发布
- 2005年,Java的各个版本取消2
- Java语言的三种技术架构
- J2SE(Java 2 Platform Standard Edition)标准版
- 是为开发普通桌面和商务应用程序提供的解决方案
- J2EE(Java 2 Platform Enterprise Edition) 企业版
- 是为开发企业环境下的应用程序提供的一套解决方案
- J2ME(Java 2 Platform Micro Edition) 小型版
- 是为开发电子消费产品和嵌入式设备提供的解决方案
- Java5.0版本后,更名为 JAVAEE JAVASE JAVAME
- J2SE(Java 2 Platform Standard Edition)标准版
Java跨平台性
- 高级语言的工作原理
- windows下的c语言编程过程
- c源程序(扩展名.c) --------> windows可执行性文件 --------> windows操作系统
- java语言编程过程
- Java源程序(扩展名.java) --------> Java字节码文件(扩展名.class) --------> jvm虚拟机(跨平台)
- windows下的c语言编程过程
JDK,JRE及JVM
- JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库
- JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库
- JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似
JDK
- JDK(Java Development Kit Java开发工具包)
- 下载jdk官方网址:
- www.oracle.com
- java.sun.com
关键字
- 被 Java 语言赋予了特殊含义的单词
- 特点:关键字中所有字母都为小写
- goto 和 const 虽然从未使用,但也作为 Java 关键字保留,记住保留字也是不能当作标识符
- java 中是没有 sizeof 这个关键字的
15:标识符
- 命名规则
- 由26个英文字母大小写,数字0-9、_、$等组成
- 不能以数字开头
- 不能与java的关键字重名
- 命名规范 见名知意,驼峰命名
- 包:所有单词小写
- 类和接口
- 一个单词组成,首字母大写。举例:Demo、Student
- 多个单词组成,每个单词的首字母大写。举例:StudentDemo
- 变量与方法
- 一个单词组成,首字母小写。举例:main,show。getMax()
- 多个单词组成,第一个单词首字母小写,其后每个单词的首字母大写。举例:showName、getMax();
- 常量
- 一个单词组成,所有单词全部大写。举例:MAX。
- 多个单词组成,每个单词大写,并且以下划线相连接。举例:STUDENT_MAXAGE
注释
- 单行注释://...
- 多行注释:/* ... */
- 文档注释:/** ... */
变量
- 在程序的运行过程中,其值在指定范围内变化的值
- 是内存中一个区域,用于存储数据
- 变量的定义格式:
- A:数据类型 变量名 = 初始化值;
- 变量在使用的时候
- A:第一种,在声明的时候,就初始化值
- 数据类型 变量名 = 初始化值;
- 举例:byte b = 100; System.out.println(b);
- B:第二种 在使用前,赋值
- 声明
- 赋值
- 使用
- 举例 byte b2;b2 = 100; System.out.println(b2);
- A:第一种,在声明的时候,就初始化值
数据类型
- 两种数据类型
- A:基本数据类型:byte、short、int、long、float、double、char、boolean
- B:引用数据类型(类、接口、数组)
- 默认情况下
- 整数是 int 类型
- 浮点数是 double 类型
数据类型转换
-
数据参与运算
- A:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
- 容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;数据类型按容量大小排序为:
- byte,short,char->int->long->float->double
- byte 和 short运算时不能和char之间互相转换,byte可以直接赋值给short,但是他们三者在计算时首先会转换为int类型
- 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意
- 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算
- 容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;数据类型按容量大小排序为:
- B:强制转换符
- 格式:(数据类型)(要被转换的数据) byte b = (byte)(300);
- C:字符型参与运算
- 首先会去找对应字符的unicode码值。然后运算。
- char 类型取值范围0~2(16)-1,我就有了一个问题?能不能把整数直接赋值给char类型的变量
- D:布尔型参与运算
- 不能参与运算
-
E:字符串参与运算
- 它是和参与运算的数据相连接组成了一个新的字符串
- byte、short、char 三种数据类型在内存中运算的时候会自动类型提升为int去运算
- A:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
算术运算符+、-、*、/、%、++(自增)、--(自减)
-
A:%
- 当左边的绝对值小于右边:结果是左边
- 当左边的绝对值等于右边或者是右边倍数的时候:结果是0
- 当左边的绝对值大于右边:结果是余数,符号取决与左边的的符号,右边忽略不记
- 用途:任意正整数%2 结果是要么0,要么1。用于切换条件
赋值运算符=、+=、*=
- =:赋值运算符
- A:=:赋值运算符 把右边的值赋给左边
- B:+=:加赋值运算符 把左边和右边的和赋给左边
- 举例:int x = 3; x += 2;等同于 x = x + 2;
比较运算符==、!=、>、<、>=、<=
- 比较运算符的结果都是boolean型,也就是要么是true,要么是false
逻辑运算符
-
逻辑与运算符 &
第一个条件 第二个条件 结果 true true true false true false true false false false false false 简单记:左右两边同时为true,结果为true。
-
逻辑或运算符 |
第一个条件 第二个条件 结果 true true true false true true true false true false false false 简单记:左右两边只要有一个结果是true,结果为true。
-
逻辑异或运算符 ^
第一个条件 第二个条件 结果 true true false false true true true false true false false false 简单记:左右两边相同,结果为false。
-
逻辑非运算符 !
!true false !false true !!true true
-
短路与
&:左边无论什么结果,右边都执行。 &&:左边为false,右边不执行,结果为false。 int x = 10; x > 11 && x < 15
-
短路或
|:左边无论什么结果,右边都执行。 ||:左边为true,右边不执行,结果为true。
位运算符
- 位运算符2 << 3 2 * 8 == 2 * 2^3
- <<:一个整数向左移动几位就乘以2的几次幂
- >>:一个整数向右移动几位就除以2的几次幂,高位是0就补0,高位是1就补1
- >>>:无符号右移无论最高位的符号位是0还是1,用无符号右移后高位符号位都是补0
三元运算符
- 格式 :(条件表达式) ? 表达式1 : 表达式2
- 如果条件为true,运算后的结果是表达式1
- 如果条件为false,运算后的结果是表达式2
- 条件运算符运算完之后一定有一个结果
int x,y,z;
x = 5;
y = 10;
z = x > y ? x : y; // z = 10