第一章 JAVA基础语法
1.1 注释
仪式代码
public class HelloWorld {
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
单行注释
//注释
多行注释
/*
注释
注释
*/
文档注释
/**
* 文档注释
* 注释
*/
1.2 语句
程序中能完成一定简单动作的指令称为一条语句,java中使用 ; 来表示一条语句的结束。
1.3 变量
- 变量指代存放数据的储存空间。
- 变量可以通过变量名访问。
- Java是一种强类型语言,每个变量使用前必须提前声明。
- Java变量要素包括变量类型,变量名,数据和作用域。
1.3.1 标识符
- 标识符就是给类,接口,方法,变量等起名字的字符序列。用来查找、定位、标明、唯一确认内容。
- 大驼峰:每一个单词首字母都大(写类、接口)YourName
- 小驼峰:除了第一个单词其他所有单词首字母大写(变量,方法)yourName
1.3.2 关键字
- Java关键字是Java语言保留供内部使用的。
- 关键字也可以称为保留字,它们的意思是一样的。
- 是被系统征用的特殊单词(标识符),而且是被广大程序员所认知的。
1.3.3 计算机存储单位
- 存储单位是一种计量单位。
- 在计算机内部,信息都是采用二进制的形式进行存储、运算、处理和传输的。
- 信息存储单位有位、字节和字等几种。
- 位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。
- 字节(Byte,B):计算机中数据的基本单位,每8位组成一个字节。各种信息在计算机中存储、处理至少需要一个字节。例如,一个ASCII码用一个字节表示,一个汉字用两个字节表示。
1.3.4 数据类型介绍
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java的数据类型分为两大类:基本类型(primitive type)和引用类型(reference type)。
1.3.4.1 整型
- 整型用于表示没有小数部分的数值,它允许是负数。
- 整数字面量默认的类型为int,当字面量值超出int范围则需要在字面量后加上L或l表示为long类型。
1.3.4.2 浮点型
- 浮点型即我们说的小数,除了有整数部分还包括小数点和小数部分。
- float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
- double表示这种类型的数值精度是flout型的两倍,绝大部分应用程序都采double类型。
- 注意:浮点数字面量默认类型为double,要想赋值给float变量,则需要加后缀F或f。
1.3.4.3 字符型
1.3.4.4 转义字符
1.3.4.5 boolean型
- boolean类型所占空间只有1位,共有两个值,true和false,不可以0或非0的整数替代true和false
1.4 进制
1.4.1 进制的概念
- 进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制—X进制,就表示每一位上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢×进位。
- (直接写数值)十进制:0,1,2,3,4,5.6,7,8,9,10,11,12…99,100
- (0b前级表示二进制)二进制:0,1,10,11,100
- (0前缀表示八进制)八进制:0,1,2,3,4,5,6,7,10,11…17,20
- (0x前缀表示十六进制)十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10
1.4.2 二进制与十进制之间转换
-
【整数】二进制和十进制之间整数的转换规则:
- 十进制转为二进制规则:用十进制的数除以2得到余数和商,一直除以2,直到商为0结束;将所有的余数倒着写,这个结果就是得到的十进制对应的二进制。
- 二进制转为十进制规则:使用二进制每个位上的数,乘以2的若干次方(从右往左数从0开始,依次加1; 0,1,2,3…)让后将所有的成乘积相加。
-
二进制和十进制之间小数部分的转换规则:
- 十进制转为二进制规则:用十进制的小数部分乘以2,取整;再用剩下的小数部分乘以2,取整;直到取整之后剩下的小数部分为0。
- 二进制转为十进制:使用二进制小数部分每一位上的数,乘以2的若干次方(从小数点后的第一开始:-1,-2,-3…,然后将所有的乘积相加。
1.4.3 其他进制与十进制之间整数转换
- 【整数】二进制和十进制之间的转换规则:
- 十进制转为X进制规则:用十进制的数除以X得到余数和商,一直除以X,直到商为0结束;将所有的余数倒着写,这个结果就是得到的十进制对应的X进制。
- X进制转为十进制规则:使用X进制每个位上的数,乘以X的若干次方(从右往左数从0开始,依次加1; 0,1,2,3…)让后将所有的成乘积相加。
1.4.4 二进制和八进制、十六进制之间的快速转换
1.4.5 byte表示范围的推演
- 数据在计算机中主要是以补码的形式存储的。
- 十进制数据的二进制表现形式就是原码,原码最左边的一个数字就是符号位,0为正,1为负。
- 正数的反码是其本身(等于原码),负数的反码是原码符号位保持不变,其余位取反。
- 正数的补码是其本身,负数的补码等于其反码**+1**。
1.5 运算符
1.5.1 基本运算符
- 运算符用于执行程序代码运算,会针对一个及以上操作数项目来进行运算。
1.5.2 扩展运算符
- 扩展运算符算数举例:
1.5.3 条件运算符(三目运算符)
1.5.4 运算符优先级
1.6 类型转换
1.6.1 自动转换
- 在编译器自动照值或运算时,会发生隐式转换。不需要人为控制,自动发生,且一般不存在数据丢失或误差。
- 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
1.6.2 强制类型转换
- 强制类型转换,又被称为造型,用于显式的转换一个数值的类型,在有可能丢失信息的情况下进行的转换,是通过造型来完成的,但可能造成精度降低或溢出。
- 当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。
1.7 两个工具
1.7.1 随机生成random
- Math类提供了一个名叫random的方法,可以随机生成(0,1)之间的任意double类型的数据。
### 1.7.2 键盘录入 - 键盘录入可以允许用户在程序运行过程中向程序输入数据,达到人机交互的效果。但是需要进行一些额外的操作,后面会具体解释。
- 1.导包(import java.util.Scanner;)告诉程序这个工具在何处
- 2.创建对象(Scanner sc = new Scanner(System.in);)创建工具
- 3获取数据(int num = sc.nextint())使用工具获取数据
import java.util.Scanner;//导包
public class Sout {
public static void main (String[] args){
//创建工具
Scanner sc = new Scanner(System.in);
//接收数据
String str = sc.next();
//打印数据
System.out.println(str);
//接收整型数据数据
int age = sc.nextInt();
//打印数据
System.out.println(age);
}
}
1.8 流程控制语句
1.8.1 控制语句
- 控制语句就是掌握程序的流向,使程序按业务逻辑的运行的代码,即用来实现对程序流程的选择、循环、转向和返回等进行拉制。
- 从结构化程序设计角度出发,程序有三种结构:顺序结构、选择结构,循环结构。