目录
1、Java标识符
标识符:用于给程序中的包、类、接口、变量、方法等命名的符号
注意:
- 标识符是由字母(包括汉字)、数字、下划线、美元符号($ )组成的字符序列,数字不能作为开头
- 标识符不可以是Java中的关键字和保留字
- 这里的字母不单指a-z,中文汉字也在其中,但是不建议使用中文字符构成标识符
2、Java关键字
Java关键字:事先定义的,有特殊意义的标识符,这些关键字现在正在被使用;
Java保留字:指现有Java版本尚未使用 ,但以后版本可能会作为关键字使用;
关键字 | 含义 | 关键字 | 含义 | 关键字 | 含义 |
abstract | 表明类或者成员方法具有抽象属性 | import | 表明要访问指定的类或包 | for | 一种循环结构的引导词 |
assert | 用来进行程序测试 | instanceof | 用来测试一个对象是否是指定类型的实例对象 | goto | 保留关键字,没有具体含义 |
boolean | 基本数据类型之一,布尔类型 | int | 基本数据类型之一,整数类型 | if | 条件语句的引导词 |
break | 提前跳出一个块 | interface | 接口 | implements | 表明一个类实现了给定的接口 |
byte | 基本数据类型之一,字节类型 | long | 基本数据类型之一,长整数类型 | while | 用在循环结构中 |
case | 用在switch语句中,表示其中一个分支 | native | 用来声明一个方法是由于计算机相关的语言(如C/C++/FORTRAN) | throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
catch | 用在异常处理中,用来捕获异常 | new | 用来创建新实例对象 | transient | 声明不用序列化的成员域 |
char | 基本数据类型之一,字符类型 | package | 包 | try | 尝试一个可能抛出异常的程序快 |
class | 类 | private | 一种访问控制方式:私用模式 | void | 声明当前成员方法没有返回值 |
const | 保留关键字,没有具体的含义 | protected | 一种访问控制方式:保护模式 | volatile | 表明俩个或者多个变量必须同步的发生变化 |
continue | 返回一个块的开始处 | public | 一种访问控制方式:共用模式 | finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
default | 默认,例如:用在switch语句中,表明一个默认的分支 | return | 从成员方法中返回数据 | float | 基本数据类型之一,单精度浮点数类型 |
do | 用在do-while循环结构中 | short | 基本数据类型之一,短整数类型 | this | 指向当前实例对象的引用 |
double | 基本数据类型之一,双精度浮点数类型 | static | 表明具有静态属性 | throw | 抛出一个异常 |
else | 用在条件语句中,表明当条件不成立的分支 | strictfp | 用来声明FP_strict(单精度或双精度浮点数) | synchronized | 表明一段代码需要同步执行 |
enum | 枚举 | super | 表明当前对象的父类型的引用或者父类型的构造方法 | final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 | switch | 分支语句结构的引导词 |
3、Java的常量与变量
变量使用:
1. 在java中要使用变量必须先声明一个变量,声明变量意味着开辟内存空间 , 可以使用这块空间存储值
例如 : int abc;
2. 变量声明之后必须有值才可以使用
变量分类:
按作用域分为成员变量、局部变量;(也可以按照声明位置划分)
成员变量:
概念 : 成员变量定义在类的类体中,且在方法或者语句块之外声明的变量
成员变量在整个类中都可以被访问
成员变量存在于对象所在的堆内存中
成员变量有默认初始值,该值是由变量的类型来决定的;double=0, 0 int=0 char=空
局部变量:
概念 : 局部变量是定义在方法体或语句块之内的变量
局部变量只在所属区域内有效
局部变量存在于栈内存中,当作用范围结束时,变量空间会自动释放
局部变量没有默认初始值
作用域
成员变量作用域是整个类
局部变量作用域是声明处开始 , 直到其所在的方法或语句块的结束
同名变量:
同一个类中 , 变量的名字可以相同 , 要注意如下几点 :
- 如果都是局部变量 如果作用范围没有交集 则可以同名
- 如果都是成员变量 一定不能同名
- 如果一个是成员变量 一个是局部变量 , 可以同名 , 两者都在作用范围时 优先使用局部变量
字面常量:
生活中用到的数值,如:
整数数值:1,11...
小数数值:3.1415,2.3e4...
字符型数值:用单引号括起来的单个字符序列, 'a', 'b'...
布尔型数值:真值(true)、假值(false)
变量变为常量 (这种目前只应用于局部变量)
常量代表在程序运行过程中不能改变的值,也就是说在第一次赋值后不能再赋值。在Java语言中,主要利用final关键字来定义常量。
常量的取名一般都用大写字符,在常量中往往通过下划线来分隔不同的字符,如 final String ERROR_CODE = "error";
常量被设定后,一般情况下不允许再进行更改,如 final double PI = 3.14;
声明常量的语法:
final type varName;
//final 定义常量的关键字
常量声明的两种方式:
1.先声明,后赋值:
final int I1 ;
I1 = 10;
2.声明常量的同时进行赋值:
final int I2 = 10;
4、常用进制学习
进制转换
十进制转二进制的方法:
除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,知道商为0为止。最后读数的时候,从最后一个余数读起,一直读到最前面的那个余数。
将十进制的42转换为二进制数的步骤如下:
二进制转十进制方法:
二进制从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去,把最后的结果相加就是十进制的值。
Java中定义进制数据
十进制(默认):逢10进1
int i = 3;
二进制:逢2进1,整数前加“0b”或“0B”
int j = 0b101;
八进制:逢8进1,整数前加数字0来表示;
int j = 071;
十六进制:逢16进1,整数前加“0x”或“0X",其中10~15分别用A-F表示(不区分大小写);
int i = 0xf;
5、数据类型
基本数据类型:包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔类型(boolean)
引用数据类型:包括类、接口、数组类型及 null 类型
基本数据类型:
整型:包括字节型(byte),短整型(short),整型(int),长整型(long),以上均是有符号整数
浮点型:包括浮点型 单精度(float),双精度型(double),它们代表有小数精度要求的数字
字符型:char,它代表字符集的符号,例如数字和字母
布尔型:boolean,它是一种特殊的类型,表示真/假值
5.1、整型
java中整型字面常量都默认是int类型的,规定可以把不超出 byte short char 类型范围的值,赋值给 byte short char 类型变量
int的字面常量都可以直接赋值给long 型变量; 但是要注意 int数据本身是有范围的 , 不能超出其范围
如果要标识一个整型字面常量为long类型,可以在后面加大写(L)或小写(l),建议用大写L便于区分
byte a1 = 127; //定义字节型变量a1;
short a2 = 3555; //定义短整型变量a2;
int a3 = 128; //定义整型变量a3;
long a4 = 23359843702345L; //定义长整型变量a4,建议用L;
原码:
一个整数转换成二进制就是原码,最高位是符号位,0表示正数,1表示负数
反码:
正数的反码就是其原码
负数的反码就是将原码中,除最高位符号位以外,每一位按位取反;1变0 , 0变1
补码:
正数的补码就是其原码
负数的补码是其反码+1
负数补码的绝对值:每一位都按位取反(包括符号位)+1
5.2、浮点型
浮点型有两种:双精度 double、单精度float
双精度浮点数:double,一个double类型的数值占8个字节,64位
单精度浮点数:float,一个float类型的数值占4个字节,32位
浮点字面量表示:标准记数法或科学记数法;
double s = 5e-12;
double r = 8E2;
float a = 4.5f;
注意:
- 浮点字面量默认是双精度,字面量后面加大写F或小写f表示单精度
- 如果需要精确计算浮点数(保留几位小数),则要用BigDecimal类(常用于计算金额)
5.3、字符型(数值型)
字符型:char,占两个字节 16位二进制表示
三种表现形式:
- 直接通过单个字符来指定字符型常量,如:'a','1'等 一对单引号括起来的单个字符就是字符型数据
- 通过转义字符表示特殊的字符型常量,如:'\n' 、'\t' '\'' 等
- 直接使用Unicode值表示字符型常量,格式是'\uXXXX',其中XXXX代表一个十六进制整数,范围是'\u0000'~'\uFFFF',共可以表示 65535个字符
备注:
char类型的值可以直接作为整数类型的值来使用,范围是0~65535 使用的值就是该字符在 Unicode中的编号值
char c = 98;
System.out.println(c);
//数据结果:b
查看 中 在unicode的编号 ?
public class Char {
public static void main(String[] args) {
char ch = '中';
System.out.println(ch + 0);
}
}
5.4、布尔型
布尔型:boolean,用于表示逻辑上的真或假,又叫逻辑类型 , 不能用0或非0代替、是 java能够进行逻辑运算的重要支撑
boolean 占4个字节
如果boolean数据存储在数组中 , 那么只占一个字节
boolean flag = true;
//声明一个为真的flag变量;
boolean 常应用流程控制语句:
- if条件控制语句
- while循环控制语句
- do循环控制语句
- for循环控制语句
- 三目运算符
6、键盘录入
import java.util.Scanner;
public class HelloWord {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
// 调用方法,获得键盘数据的值
System.out.print("请输入Int类型数:");
int i = sc.nextInt();
System.out.println("键盘输入的值是:" + i);
System.out.print("请输入Float类型数:");
float f = sc.nextFloat();
System.out.println("键盘输入的值是:" + f);
}
}
字符串学习
在java中由一对双引号括起来的0个1个或多个字符所组成的字符序列 就是字符串
字符串是引用数据类型 , 其类型是 String
String str = "你好吗";
+号 , 对字符串具有特殊支持 , 当+号的两端有一段是字符串时 , +起到连接作用 ; 结果会是一个新的连接到一起的字符串
使用键盘录入可以录入字符串
import java.util.Scanner;
public class HelloWord {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = sc.next();
System.out.println("键盘输入的值是:" + str);
}
}