0
点赞
收藏
分享

微信扫一扫

基础语法——java学习笔记

千妈小语 2022-03-12 阅读 89
java

注释

单行注释

//单行注释

多行注释

/*多行注释*/

文档注释(JavaDoc)

/**

*文档注释

*/

创建:/**+enter

参数信息

@author 作者名

@version 版本号

@since 指出需要最早使用的jdk版本

@param 参数名

@return 返回值情况

@throws 异常抛出情况

生成JavaDoc文档

DOS控制台命令:javadoc -encoding UTF-8 -charset UTF-8 Doc.java

IDEA生成:选项卡Tools\Generate JavaDoc。//键入Locale: zh_CN; Other command line arguments: -encoding UTF-8 -charset UTF-8

标识符

规定:必须以字母、$、_开头,其后可以是以上类型或者数字

关键字

规定:关键字不能用于变量名或方法名

关键字含义
abstract表明类或者成员方法具有抽象属性
assert断言,用来进行程序调试
boolean基本数据类型之一,声明布尔类型的关键字
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class声明一个类
const保留关键字,没有具体含义
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
do用在do-while循环结构中
double基本数据类型之一,双精度浮点数类型
else用在条件语句中,表明当条件不成立时的分支
enum枚举
extends表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float基本数据类型之一,单精度浮点数类型
for一种循环结构的引导词
goto保留关键字,没有具体含义
if条件语句的引导词
implements表明一个类实现了给定的接口
import表明要访问指定的类或包
instanceof用来测试一个对象是否是指定类型的实例对象
int基本数据类型之一,整数类型
interface接口
long基本数据类型之一,长整数类型
native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new用来创建新实例对象
package
private一种访问控制方式:私用模式
protected一种访问控制方式:保护模式
public一种访问控制方式:共用模式
return从成员方法中返回数据
short基本数据类型之一,短整数类型
static表明具有静态属性
strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754)算术规范
super表明当前对象的父类型的引用或者父类型的构造方法
switch分支语句结构的引导词
synchronized表明一段代码需要同步执行
this指向当前实例对象的引用
throw抛出一个异常
throws声明在当前定义的成员方法中所有需要抛出的异常
transient声明不用序列化的成员域
try尝试一个可能抛出异常的程序块
void声明当前成员方法没有返回值
volatile表明两个或者多个变量必须同步地发生变化
while用在循环结构中

八大基本数据类型

java中数据必须先声明后使用,一般声明的同时或之后初始化(赋初值)

整数

int num1=10;//最常用。范围:-2_147_483_648~2_147_483_647(约±21亿)

byte num2=20;//范围:-128~127

short num3=30;//范围:-32768~32767

long num4=30L;//规定:需在赋值数字后加L。范围:-9_223_372_036_854_775_808~9_223_372_036_ 854_775_807(-263~263-1)

数字之间可以用_分隔,不影响数值大小

整数拓展:进制

  1. 二进制(0b)

    0b10=2

  2. 八进制(0)

    010=8

  3. 十进制

    10=10

  4. 十六进制(0x)(0~9,A~F)

    0x10=16

浮点数(小数)

  • float num5=50.1F;//规定:需在赋值数字后加F。负数范围:-3.4028235E+38~-1.4E-45。正数范围:1.4E-45~3.4028235E+38

  • double num6=60.123456789;负数范围:-1.7976931348623157E+308~-4.9E-324。正数范围:4.9E-324~1.7976931348623157E+308

    java中输出浮点数,系统会至少保留1位小数

浮点数拓展:精度

因浮点数存在精度误差,最好完全使用浮点数进行比较,推荐数学工具类BigDecimal

字符

char name=‘畅’;//取值范围:’\u0000’~‘uffff’(16进制);对应的10进制数值0~65535

字符拓展

本质是编码数字

所有字符本质是数字,每个字符对应Unicode表中的数字

a=97; A=65

转义字符

转义字符意义
\a响铃(BEL)
\b退格(BS),将当前位置移到前一列
\f换页(FF),将当前位置移到下页开头
\n换行(LF),将当前位置移到下一行开头
\r回车(CR),将当前位置移到本行开头
\t水平制表(HT)(跳到下一个TAB位置)
\v垂直制表(VT)
\代表一个反斜线字符"Y
代表一个单引号(撇号)字符
"代表一个双引号字符
?代表一个问号
\0空字符(NUL)
\ddd1到3位八进制数所代表的任意字符
\xhh十六进制所代表的任意字符
\101使用3位八进制数字表示0~377范围内(10进制的0~255)的256个字符
\u4e01使用4位16进制数字表示\u0000~\uffff范围内的字符

字符串

String namea=“曹龙畅”;S必须大写

布尔

boolean b1=true;

boolean b2=false;

java中,布尔类型与其它数据类型不可转换

类型转换

习惯:运算中,不同类型数据要转换同一数据类型

自动转换(隐式转换)

低精度转换为高精度,或同等精度小范围转换为大范围(不损失精度):byte, short, char->int->long->float->double

若未赋值进行自动转换,合法的不同类型数据运算前(不含bollean类型的基本数据)默认进行自动转换。特殊:表达式只有byte和short两种类型数据的运算,会自动转换成int类型。

强制转换(显示转换)

格式:(要转换的数据类型关键词)变量名。表达式中有其一即可,不用全部强制转换

高精度转换为低精度,或同等精度大范围转换为小范围(会损失精度,或内存溢出)

字符串类型转换

字符串转换为数值

转换的方法功能说明
Byte.parseByte(String s)将数字字符串转换为字节型数据
Short.parseShort(String s)将数字字符串转换为短整型数据
integer.parseint(String s)将数字字符串转换为整型数据
Long.parseLong(String s)将数字字符串转换为长整型数据
Float.parseFloat(String s)将数字字符串转换为浮点型数据
Double.parseDouble(String s)将数字字符串转换为双精度型数据
Boolean.parseBoolean(String s)将字符串"true"或"false"转换为布尔型数据(这里不区分大小写)

数值转换为字符串

格式:String 字符串变量名=""+数值变量

变量

类变量

位置:相对主类的大括号内

格式:static 数据类型 变量名=初始值;

若未初始化,默认值为0、false、null(空值)。

实例变量

位置:从属于对象。相对主类的大括号内

格式:数据类型 变量名;

若未初始化,默认值为0、false、null(空值)。

局部变量

位置:相对局部类的大括号内

格式:数据类型 变量名;

若未初始化,则无法输出。

常量

格式:final 数据类型 常量名=值; 或数据类型 final 常量名=值;

常量及变量命名规范(习惯)

习惯:见名知意

常量名:字母大写及下划线分隔

类名:单词首字母大写

其余:首单词的首字母小写,其后单词首字母大写。(驼峰原则)

运算符

算术运算符: +, -, *, /, %(模(取余的意思)),++, --。//i++:先运算后自增。++i:先自增后运算。

赋值运算符:=

扩展赋值运算符:+=、=

关系运算符:>,<,>=,<=,==,!=

逻辑运算符: &&、||、!、^(异或,相同为假,不同为真)

位运算符: >>、<<、>>>、&、|、^、~。//<<(左移1位,相当于十进制数值*2,>>同理)

条件运算符?︰(a>b?true:false)

扩展赋值运算符:+=,-=,*=,/=。//a+=b相当于a=a+b

输出连字符:+

其它运算符:.(分量)、[](下标)、instanceof(实例)、new(内存分配)、()(强制类型转换)、()方法调用

  • 拓展:java含逻辑运算符表达式运算,若先执行的运算元已确定结果,后续运算元不再执行,即短路运算。特殊的,位运算符不会有短路运算。
  • 运算符优先级(不同级)及结合性(同级)。优先级高低:小括号>一元运算符>算数运算>关系运算、逻辑运算>赋值运算。结合性顺序:大部分为左结合性(从左到右);特殊的赋值运算、一元运算等为右结合性。
  • 习惯:合理添加()增加程序可读性

在这里插入图片描述

数组

数组的声明和初始化

数组的实质是引用, 数组元素存放在堆内存,对应的首地址存放在栈内存。数组也是对象。

数据类型[] 数组名=new 数据类型[数组长度(length)];

int[] i1=new int[5];//声明并分配内存

int[] i2=new int[]{1,2,3,4,5};//声明并分配内存、初始化

int[] i3={6,7,8,9,10};//同上,new int[]可省略

数组元素的访问

数组名[序号]//序号从0开始,最大值为length-1

访问数组的长度:数组名.length

声明:package 包名1[.包名2[.包名3]]

习惯:包名一般用公司路径倒置的域名

导入包

import 包名1[.包名2[.包名3]].类名;(IDEA默认导入系统包,无需操作)//引用该包下的所有类用通配符“*”代替类名

其它

语句:以分号结尾的表达式。“{}”中的语句为同一层次。

举报

相关推荐

0 条评论