Java基础语法
1.标识符、关键字
标识符
在程序中用于定义名称的都为标识符,如文件名称、类名称、方法名称或变量名称等
在Java中标识符的定义格式由字母、数字、_(下划线),$所组成,
其中不能重复,
不能以数字开头,
不能是Java中的关键字,
而且每一个标识符都要有自己的意义,如StudentName,表示的是学生姓名。
注意:标识符区分大小写。
如:
ORACLE,oracle,ORAcle等,虽然表示的单词一样,但都属于不同的标识符。
建议,标识符永远用字母开头,而且尽量不要包含其他的符号,避免书写错误
java中的关键字
abstract 表明类或者成员方法具有抽象属性
assert 用来进行程序调试
boolean 布尔类型
break 提前跳出一个块
byte 字节类型
case switch语句 的一个分支
catch 用在异常处理中,用来捕捉异常
char 字符类型
class 类
continue 回到一个块的开始处
const 保留关键字,没有具体含义
default 默认,例如,用在switch语句中,表明一个默认的分支
do 在do-while循环结构中
double 双精度浮点数类型
else 用在条件语句中,表明条件不成立时的分支
extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
enum 枚举
final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被更改
finally 用于处理异常情况,用来声明一个基本肯定会被执行的语句块
float 单精度浮点数类型
for 一种循环结构的引导词
goto 保留关键字,没有具体含义
if 条件语句的引导词
implements 表明一个类,实现了给定的接口
import 表明要访问指定的类或包
instanceof 用来测试一个对象是否是指定类型的实例对象
int 整数类型
interface 接口
long 长整数类型
native 用来声明一个方法是由与计算机相关的语言实现的
new 用来创建新实例对象
package 包
private 一种访问控制方式:私用模式
protected 一种访问控制方式:保护模式
public 一种访问控制方式:公用模式
return 从成员方法中返回数据
short 短整数类型
static 表明具有静态属性
synchronized 表明一段代码需要同步执行
super 表明当前对象的父类型的引用或者父类型的构造方法
strictfp 用来声明FP-strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
this 指向当前实例对象的引用
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
transient 声明不用序列化的成员域
try 尝试一个可能抛出异常的程序块
void 表明当前成员方法没有返回值
volatile 表明两个或多个变量必须同步地发生变化
while 用在循环结构中
2.变量
变量具有四个基本属性:变量名、数据类型,存储单元,变量值
定义变量的格式:
类型 变量名或带初始化的变量名列表;
如: int a;
变量使用的注意事项
变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
public static void main(String[] args) { int x; x = 20; //为x赋值20 System.out.println(x);//读取x变量中的值,再打印 }变量使用时有作用域的限制。
public static void main(String[] args) { int x = 20; { int y = 20; } System.out.println(x);//读取x变量中的值,再打印 System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量 }变量不可以重复定义。
public static void main(String[] args){ int x = 10; double x = 5.5;//编译失败,变量重复定义 }
3.计算机存储单元
计算机存储设备的最小信息单元叫“位(bit)”,用b表示
计算机最小的存储单元叫“字节(byte)”,用B表示
一个字节等于8个位,即
1B(字节) = 8bit 还有其他存储单位:
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
4.基本类型
四类 |
八种 |
字节数 |
数据表示范围 |
整型 |
Byte |
1 |
-128~127 |
Short |
2 |
-32768~32767 |
|
Int |
4 |
-2147483648~2147483648 |
|
Long |
8 |
-263~263-1 |
|
浮点型 |
Float |
4 |
-3.403E38~3.403E38 |
Double |
8 |
-1.798E308~1.798E308 |
|
字符型 |
Char |
2 |
表示一个字符,如('a','A','0','家') |
布尔型 |
boolean |
1 |
只有两个值true与false |
例子:Java代码:
class demo02 { public static void main(String[] args) { int a =100; float b=2.14f; double c=5.5; char d='家'; boolean e=true; String f ="我爱java"; System.out.println(a+"..."+b+"..."+c+"..."+d+"..."+e+"..."); System.out.println(f); } }
结果为:
常量与类型
java中默认的整数类型是int类型
java中默认的浮点类型是double类型
例如:
3.14没有后缀,所以它是double类型;
5.28D为double类型;
1.26F为float类型。
5.数据类型转换
数据类型按照数据范围从小到大依次列出:
byte -> short -> int -> long -> float -> double
顺序逆着就是强制类型转换:将强的数据类型转换为弱的数据类型
强制类型转换格式:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如:
int i = (int)6.718; //i的值为6,6.718默认为double,由大转小
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
自动类型转换
表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
自动类型转换格式:
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 = i;
6.运算符
算数运算符
运算符 |
运算规则 |
范例 |
结果 |
+ |
正号 |
+3 |
3 |
+ |
加 |
2+3 |
5 |
+ |
连接字符串 |
“中”+“国” |
“中国” |
- |
负号 |
int a=3;-a |
-3 |
- |
减 |
3-1 |
2 |
* |
乘 |
2*3 |
6 |
/ |
除 |
5/2 |
2 |
% |
取模 |
5/2 |
1 |
++ |
自增 |
int a=1;a++/++a |
2 |
-- |
自减 |
int b=3;a--/--a |
2 |
赋值运算符
运算符 |
运算规则 |
范例 |
结果 |
= |
赋值 |
int a=2 |
2 |
+= |
加后赋值 |
int a=2,a+=2,(a=a+2) |
4 |
-= |
减后赋值 |
int a=2,a-=2 (a=a-2) |
0 |
*= |
乘后赋值 |
int a=2,a*=2 (a=a*2) |
4 |
/= |
整除后赋值 |
int a=2,a/=2 |
1 |
%= |
取模后赋值 |
int a=2,a%=2 |
0 |
比较运算符
运算符 |
运算规则 |
范例 |
结果 |
== |
相等于 |
4==3 |
False |
!= |
不等于 |
4!=3 |
True |
< |
小于 |
4<3 |
False |
> |
大于 |
4>3 |
True |
<= |
小于等于 |
4<=3 |
False |
>= |
大于等于 |
4>=3 |
True |
逻辑运算符
运算符 |
运算规则 |
范例 |
结果 |
& |
与 |
false&true |
False |
| |
或 |
false|true |
True |
^ |
异或 |
true^flase |
True |
! |
非 |
!true |
Flase |
&& |
短路与 |
false&&true |
False |
|| |
短路或 |
false||true |
True |
例子:Java代码:
class demo01 { public static void main(String[] args) { //& :两边有一个false,结果就是false System.out.println(true&false);//false System.out.println(true&true);//true System.out.println(false&false);//false // | :两边只要有一个true,结果就是true System.out.println(true|false);//true System.out.println(true|true);//true System.out.println(false|false);//false // ^ :两边不一样,就是true,一样就是false System.out.println(true ^ false);//true System.out.println(true ^ true);//false System.out.println(false ^ false);//false // !:取反 System.out.println(!false);//true System.out.println( !true);//false //短路与&&:当左边是false的时候,就不再判断右边了 //效率高于一个& System.out.println(true && false);//false System.out.println(true && true);//true System.out.println(false && false);//false //举例: int y=0; System.out.println(3>4 && y++<2);//false System.out.println(3>4 & y++<2);//false System.out.println(y);//0 //短路或||:左边只要是true,右边就不再判断了 //效率比一个|要高 System.out.println(true||false);//true System.out.println(true||true);//true System.out.println(false||false);//false } }
三目运算符
格式:
(条件表达式)?表达式1:表达式2;
三目运算符运算规则:
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
例子:
//三目运算符 System.out.println(5>10?"正确":"错误");//错误
运算符优先级(由高到低):
优先级 |
描述 |
运算符 |
1 |
括号 |
()、[] |
2 |
正负号 |
+、- |
3 |
自增自减,非 |
++、--、! |
4 |
乘除,取余 |
*、/、% |
5 |
加减 |
+、- |
6 |
移位运算 |
<<、>>、>>> |
7 |
大小关系 |
>、>=、<、<= |
8 |
相等关系 |
==、!= |
9 |
按位与 |
& |
10 |
按位异或 |
^ |
11 |
按位或 |
| |
12 |
逻辑与 |
&& |
13 |
逻辑或 |
|| |
14 |
条件运算 |
?: |
15 |
赋值运算 |
=、+=、-=、*=、/=、%= |
16 |
位赋值运算 |
&=、|=、<<=、>>=、>>>= |
用Editplus编写代码,在dos窗口显示输出结果:
例子: 商场库存清单案例
Java代码:
public class demo04 { public static void main(String[] args) { //定义并赋值 String pinpai1 ="MacBookAir"; String pinpai2 ="ThinkpadT450"; String pinpai3 ="ASUS-FL5800"; double cc1 =13.3; double cc2 =14.0; double cc3 =15.6; double jg1=6988.88; double jg2=5999.99; double jg3=4999.5; int kc1=5; int kc2=10; int kc3=18; int zkc =0; double zj=0; zkc = kc1+kc2+kc3; zj = jg1*kc1+jg2*kc2+jg3*kc3; //打印 System.out.println("---------------------------------商城库存清单---------------------------------"); System.out.println("品牌型号 尺寸 价格 库存数"); //品牌一 System.out.println(pinpai1+" "+" "+cc1+" "+jg1+" "+kc1); //品牌二 System.out.println(pinpai2 +" "+" "+cc2+" "+jg2+" "+kc2); //品牌三 System.out.println(pinpai3 +" "+" "+cc3+" "+jg3+" "+kc3); System.out.println("--------------------------------------------------------------------------------"); System.out.println("总库存数:"+zkc); System.out.println("库存商品总金额: "+zj); } }
显示结果:
Java编写注意:
一个Java里面可以i有多个类
public class只能有一个
注释编译后不进入class文件,
代码区分大小写