Java — 基础语法
计算机基础知识
计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、
高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的
计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。计算机的
应用已渗透到社会的各个领域,正在改变着人们的工作、学习和生活的方式,推动着社
会的发展。
计算机硬件
- 计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。
这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
- 计算机通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标,显示器等多个部件组成。
计算机软件
- 计算机软件是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能,
计算机软件按照其功能划分为系统软件与应用软件
- 系统软件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
系统软件是为了计算机能正常、高效工件所配备的各种管理、监控和维护系统的程序及其有关资料。
- 应用软件:office QQ聊天 YY语言 扫雷
软件开发是什么
- 软件:按照特定顺序组织的计算机数据和指令的集合
开发:软件的制作过程
- 软件开发:借助开发工具与计算机语言制作软件
计算机语言
语言
人类进行沟通交流的各种表达符号,方便人与人之间进行沟通与信息交换
计算机语言
- 人与计算机之间进行信息交流沟通的一种特殊语言
计算机语言中也有字符,符号等等
- 常见的计算机语言如:C,C++,C#,JAVA
人机交互
- 软件的出现实现了人与计算机之间更好的交互。
交互方式:
- 命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
需要记录住一些命令。
- 图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。(可视化的命令行)
键盘快捷键介绍
Ctrl+A 全选
Ctrl+C 复制
Ctrl+V 粘贴
Ctrl+X 剪切
Ctrl+Z 撤销
Ctrl+S 保存
常用DOS命令
- 打开DOS控制台的方式
开始-运行-cmd-回车 快捷键window键+r调出运行
- 常用DOS命令
盘符: 回车 盘符切换
D: 切换到d盘
dir(directory):列出当前目录下的文件以及文件夹
md (make directory) : 创建目录
md abc 创建abc目录
rd (remove directory): 删除目录
rd abc 删除abc目录
cd (change directory)改变指定目录(进入指定目录)
cd gakataka\Teacher 切换到当前目录 cd xxx* 模糊匹配 如果有多个 匹配第一个
cd.. : 退回到上一级目录
cd\: 退回到根目录
del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
exit : 退出dos命令行
cls : (clear screen)清屏
JAVA的基础语法
关键字概述
关键字(保留字)
被Java语言赋予特定含义的单词(JAVA语言的组成部分)
关键字特点
组成关键字的字母全部小写
关键字注意事项
goto和const作为保留字存在,目前并不使用
类似EditPlus这样的高级记事本,针对关键字有特殊的颜色标记,非常直观如下表:
用于定义数据类型的关键字 |
|||||||
class |
interface |
byte |
short |
int |
|||
long |
float |
double |
char |
boolean |
|||
void |
|
|
|
|
|||
用于定义数据类型值的关键字 |
|||||||
true |
false |
null |
|
|
|||
用于定义流程控制的关键字 |
|||||||
if |
else |
switch |
case |
default |
|||
while |
do |
for |
break |
continue |
|||
return |
|
|
|
|
|||
用于定义访问权限修饰符的关键字 |
|||||||
private |
protected |
public |
|
|
|||
用于定义类,函数,变量修饰符的关键字 |
|||||||
abstract |
final |
static |
synchronized |
|
|||
用于定义类与类之间关系的关键字 |
|||||||
extends |
implements |
|
|
|
|||
用于定义建立实例及引用实例,判断实例的关键字 |
|||||||
new |
this |
super |
instanceof |
|
|||
用于异常处理的关键字 |
|||||||
try |
catch |
finally |
throw |
throws |
|||
用于包的关键字 |
|||||||
package |
import |
|
|
|
|||
其他修饰符关键字 |
|||||||
native |
strictfp |
transient |
volatile |
assert |
标识符
标识符概述
就是给类,接口,方法,变量等起名字时使用的字符序列
组成规则
英文大小写字母
数字字符
$和_
注意事项
不能以数字开头
不能是Java中的关键字
区分大小写
标识符(常见命名规则)
包(其实就是文件夹,用于解决相同类名问题 全小写)
单级:com
多级:com.day01
类或者接口(所有单词首字母大写)
一个单词:Demo
多个单词:TestDemo//这是一个类
方法和变量(首字母小写后面单词首字母大写)
一个单词:hello
多个单词:helloWorld//是变量
常量(全大写) PI
注释
注释概述
用于解释说明程序的文字
//
/* */
/** */
Java中注释分类格式解释说明程序,提高程序的阅读性可以帮助我们排错
单行注释
格式: //注释文字
多行注释
格式: /* 注释文字 */
文档注释
- 格式:/** 注释文字 */
- 注释是一个程序员必须要具有的良好编程习惯。
初学者编写程序可以养成习惯:先写注释再写代码。
- 将自己的思想通过注释先整理出来,在用代码去体现。
因为代码仅仅是思想的一种体现形式而已
常量
常量概述
- 在程序执行的过程中其值不可以发生改变
Java中常量分类
- 字面值常量
自定义常量(面向对象部分讲)
- 字符串常量
用双引号括起来的内容
- 整数常量 所有整数
12,23
- 小数常量 所有小数
12.34,56.78
- 字符常量 用单引号括起来的内容
‘a’,’A’,’0’
- 布尔常量
较为特有,只有true和false
- 空常量 null(数组部分讲解)
进制概述
对于整数 有四种表现形式
二进制 0,1 满2进1位
八进制 0,1,2,3,4,5,6,7 满8进1位
十进制 0,1,2,3,4,5,6,7,8,9 满10进1位
十六进制0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 满16进1位
一个整数23 默认为十进制 0x78 =120
以8进制表示 023
以16进制表示0x23
进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时
是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
进制转换
其他进制到十进制
只计算有效位
0101011=十进制的47
在2进制中三个一组最大为的7 111=7
把一个2进制的树排列成三个一组 111 1 000
010 110 011
2 6 3
二进制数010 110 011代表的八进制数为0263
在2进制中四个一组最大为的15 1111=15
把一个2进制的树排列成四个一组
1011 0011
11 3
二进制数010 110 011代表的十六进制数为0xb3
总结:八进制其实就是二进制位 三个二进制位组成一个八进制位
十六进制其实就是二进制位 四个二进制位组成一个十六进制位
负数的二进制表现: -9
原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。
变量
变量是什么?
表示内存中的一个区域,该区域有名称(变量名)和类型(数据的范围)
变量顾名思义:可以变的常量,也就是说 变量可以不断变化的存储同一类型的常量
为什么要使用变量
不断的定义常量 造成内存的浪费 而变量 独自开辟一个内存空间 来接受一些常量的值
定义变量的格式
- 数据类型 变量名=初始化的值;
int i=123;
- 改变变量的值:
i=456;
- 一次性定义多个变量(同一类型)
int i=5,i2=6,i3=7;
格式是固定的
数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间
数据类型的分类:
基本数据类型
数字类型:
Float为单精度精确到小数点后4位
double为双精度 精确到小数点后13位
注意:
定义long类型与int类型的区别 long类型加L(超过int最大值必须加L)
定义float类型与double类型的区别 float类型加F(必须加F)
- 默认值:整数类型为int
小数(浮点)类型为double
- Boolean布尔类型
只有两个值:true(真)和false(假)
- 字符类型char:代表一个单个字符
16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),
使用 Unicode 码代表字符,0~2^16-1(65535)。
- Java把全世界所有的字符 都给了一个编码 这些编码集合起来叫做Unicode 编码集
数据类型转换:
数值大的类型可以直接接收数据小的类型的值:(自动转换)
int i=123;
long l=i;//l=123;
小数类型可以直接接收整数类型:
long l=123456;
float f=l;//f=123456.0
Char类型和整数类型转换:
转换为当前字符所表示的Unicode码的值
char c='A';
int i=c;//65
强制类型转换:
- 小类型的数据类型不能直接接收比自己大的数据类型的值:(会报错 即便是可以接收的值)
- 这种情况下 如果非要这么做 则需要用到强制类型转换:
数据类型 变量名 = (强转的数据类型) 被强转的数据
int i=12;
byte b=(byte)i;//把i强制转换为byte类型 然后赋值给b
注意:强制类型转换如果接收的值超过当前的数据类型的值会出现数据错误:
int i=130;
byte b=(byte)i; //不允许!!!!!
运算符
算术运算符
- +的几种作用:
加法
正数
- 字符串连接符
除法的时候要注意一个问题:
数相除,只能得到整数
要想得到小数,可以*1.0
赋值运算符
- 符号:
= , +=, -=, *=, /=, %=
- =为基本的赋值运算符,其他的为扩展的赋值运算符
关系运算符
逻辑运算符
- 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
- “&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
- 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
位运算符
三目运算符
- 格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
- 示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
键盘录入数据练习
- 键盘录入数据概述
我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,
所以,我准备把数据改进为键盘录入,提高程序的灵活性。
- 如何实现键盘录入数据呢?(目前先记住使用)
导包(位置放到class定义的上面)
import java.util.Scanner;
- 创建对象
Scanner sc = new Scanner(System.in);
- 接收数据
int x = sc.nextInt();
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int i=sc.nextInt(); System.out.println(i); } }
流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。
也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的
执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的
功能。
流程控制语句分类
顺序结构
选择结构
循环结构
顺序结构
- 顺序结构概述
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,
程序中大多数的代码都是这样执行的。
- 总的来说:写在前面的先执行,写在后面的后执行
选择结构
- 选择结构
也被称为分支结构。
- 选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
Java语言提供了两种选择结构语句