Java基础语法
Java基础语法
注释
注释不会被执行,只是方便写代码的人看
Java的注释有三种
- 单行注释
//这是一个注释
- 多行注释
/*
这
是
一个多行注释
*/
- 文档注释
/**
*这是一个文档注释
*文档注释一定具有功能
*/
标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
-
所有的标识符都应该以字母,美元符或下划线开始
-
**标识符是大小写敏感的 **
-
不能使用关键字作为变量名或方法名
-
规范书写,最好用英语
数据类型及拓展
-
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
Java、C语言都属于强类型语言。
-
弱类型语言:变量的使用不需要特别严格符合规定。VB、JB都属于弱类型语言。
Java的数据类型
-
基本类型(primitive type)
浮点类型即小数
-
引用类型(reference type)
public class HelloWorld {
public static void main(String[] args) {
//八大基本数据类型
int num1=100000; //最常用
byte num2=20;
short num3=30;
long num4=10000000000000L;//long类型要在数字后加个L
//小数,浮点数
float num5 = 0.2F;//float类型要在数字后加个F
double num6=3.12342341234;
//字符
char name='亲';
//字符串,String不是关键字,是类
String name1="哒哒哒";
//布尔值:是非
boolean a=true;
}
}

*字节
-
位(bit):是计算机内部数据储存的最小单位。例如:10101100是一个八位二进制数
-
字节(byte):是计算机数据处理的基本单位,习惯用大写B来表示。
-
1B=8bit
-
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位
1Byte表示一个字节 1B=8b
1024B=1kb
1024kb=1024M
1024M=1G
1024G=1TB
*变量
-
变量,即可以变化的量。
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。
-
type varName [=value][{,varName[=value]}]; //数据类型 变量名 = 值 可以用逗号隔开来声明多个同类型变量 -
注意事项:
- 每个变量都有类型,类型可以是基本类型或引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
*拓展
-
整数拓展(进制)
- 二进制 0 1
- 八进制 0~7
- 十六进制 0~9 A~F
-
浮点数拓展
floot 有限 离散 舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较
银行业务不用浮点数,一般用 BigDecimal 这样一个数学工具
-
字符拓展
char c1='a'; char c2='中';所有的字符本质上还是数字,每一个字符都对应一个编码
-
转义字符
例如:\t 空格 \n 换行
-
-
布尔值拓展
boolean flag = true; if (flag=true){} //新手代码 if (flag){} //简化代码(老手)- 代码要精简易读!
类型转换
-
由于Java属于强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低----------------->高 byte,short,char => int => long => float => double
高到低需要强制转换
高到低则自动转换
-
运算中,不同类型的数据先转化为同一类型,然后在进行运算。
int i=128; byte b=(byte)i

-
强制转换
(类型)+ 变量名
-
注意点:
-
不能把布尔值进行转换
-
不能把对象类型转换为不相干类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题
-
操作比较大的数的时候,注意溢出问题
-

- **图中的变量money和years都属于int类型,而两者作运算得出的结果也默认会的int类型,而money*years得出的结果明显超出int字节范围,即内存溢出。**
- **改变其中一个变量的类型即可解决此问题**
> JDK新特性,数字之间可以用下划线
>
> ```java
> int i=200_0000_0000
> ```
变量、常量、作用域
-
变量即可以变化的量
-
Java是强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
-
type varName [=value][{,varName[=value]}]; //数据类型 变量名 = 值;可以用逗号隔开,来声明多个同类型变量。 -
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结 束
变量作用域
- 变量作用域分为类变量、实例变量和局部变量
public class Variable{
Static int i=123; //类变量,即静态变量,独立于方法之外的变量,用Static修饰。
String str="helloworld";//实例变量
public void method(){
int a=234; //局部变量
}
}
-
局部变量
局部变量必须声明和初始化值
public class wenjian{ public static void main(){ int i=12; } } -
实例变量
实例变量从属于对象;如果不自行初始化,则输出这个类型的默认值
- 不同变量的默认值
- 数值型变量默认值是0
- 布尔值的默认值是flase
- 除了基本类型,其余默认值都是null
- 不同变量的默认值
-
类变量 static
用static关键字修饰的变量
常量
-
常量(Constant):初始化后不能再改变值,即不会变动的值。
-
所谓常量可以理解为一种特殊的常量,它的值被设定后,在程序运行过程中不允许被改变。
-
final 常量名=值 final double PI=123 -
常量名一般使用大写字符。

变量的命名规范
- 所有变量、方法、类名:要具有可读性、易读性
- 类成员变量:首字母小写和驼峰原则。例:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线。例:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
运算符
- java语言支持如下运算符:
- 算数运算符:+ - * / % ++ --
- 赋值运算符:=
- 关系运算符:> < >= <= == (等于) !=instanceof(不等于)
- 逻辑运算符:&&(且) ||(或) !(非)
- 位运算符:& | ^ ~ >> << >>>
- 条件运算符: ? :
- 扩展赋值运算符: += -= *= /=
算数运算
-
同类型变量之间进行算数运算时,算出结果默认为相同类型
-
不同的类型放一起运算时,得出结果的类型如下:

-
按照数据类型转换优先级,在运算的变量中只有byte、short、int这三种中的两种,则计算结果默认为int类型。当参与运算的变量中有long、float、double时,运算结果类型默认为优先级较高的类型。
-
而当运算结果超过默认类型字节范围,即内存溢出时,需要强制转换一个变量为优先级更高的类型,才能得出正常结果。

- 算数运算符号%意为取余数

-
++ -- 自增 自减
a++ 和 ++a 都相当于a=a+1,但是两者的执行顺序不同。——相同

-
幂运算
在java中并没有有关幂运算,可以用Math数学工具来完成。很多运算,我们会使用一些工具来操作。

拓展:Idea接收变量的三种快捷方式
例如:double pow = Math.pow(3, 2);
在输入Math.pow(3,2);后,有三种方法:
- alt+enter
- Ctrl+alt+v
- 在math.pow(3,2)后面加.var 然后回车
关系运算
关系运算返回结果只有true和flase两个值,即布尔值。

拓展
boolean a=true; boolean b=false; System.out.println("a&&b" + (b&&a)); //在执行此段代码时,由于先检测到b为flase,则不会再运算a实验如下
位运算
- 位运算,即直接对二进制位进行操作。
/*
A=0011 1100
B=0000 1101
A&B=0000 1100
A|B=0011 1101
A^B=0011 0001
~B=1111 0010
*/
A&B 即按位与(A且B),同为1则取1,其他情况取0
A|B 即按位或(A或B),有1取1,没1取0
A^B 即按位异或运算,同位取0,不同取1
~B 即按位非(取反),1变为0 , 0变为1
-
位运算中还有>>(右移)和<<(左移)两种运算
>> /2 左移相当于乘以2 << *2 右移相当于除以2 以上为在正整数的前提下例如:快速计算2*8

扩展运算符
-
java中的扩展运算符为+=、-=、/=、%=、*=
例:a+=b 等同与a=a+b
其他扩展运算符同理

-
字符串连接符 +
字符串可以将字符拼接起来

条件运算符
X ? Y : Z 如果X为真,则结果为Y,否则为Z

包机制
-
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:
package pkg1[.pkg2[.kkg3……]] -
一般利用公司域名倒置作为包名
例:百度 命名方式:com.baidu.www
-
导入包语法格式
import package1[.package2……].(classname|*); -
通配符

-
《阿里巴巴Java开发手册》
JavaDoc
-
javadoc命令是用来生成自己的API文档的
-
参数信息
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
如何生成API文档
方法一




方法二


…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
路漫漫其修远兮,吾将上下而求索!

浙公网安备 33010602011771号