栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java语言基础(笔记)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java语言基础(笔记)

java基础 java开发环境:

编译运行过程:
编译期:.java源文件,经过编译,生成.class字节码文件
运行期:JVM加载.class并运行.class(0和1)
特点:跨平台、一次编程到处使用

JVM:java虚拟机
加载.class并运行.class

JRE:java运行环境
​除了包含JVM以外还包含了运行java程序所必须的环境

JDK:java开发工具包
​除了包含JRE以外还包含了开发java程序所必须的命令工具

运行java程序的最小环境为JRE
开发java程序的最小环境为JDK


变量

存数的,代词,指代的就是里面的那个数
声明:-------相当于在银行开了个帐户
初始化/第一次赋值:-----相当于给帐户存钱
使用:----使用的是帐户里面的钱
对变量的使用就是对它所存的那个数的使用,变量在用之前必须声明并初始化
命名:
只能包含字母、数字、_和$符,不能以数字开头
严格区分大小写
不能使用关键字
允许中文命名,但不建议,建议"英文的见名知意"、“小驼峰命名法”


八种基本数据类型

byte,short,int,long,float,double,boolean,char

int:整型,4个字节,-231 ~231-1
整数直接量默认为int类型,但不能超出范围,若超范围则发生编译错误
两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
运算时若超范围,则发生溢出(溢出不是错误,但是需要避免)

long:长整型,8个字节,-263 ~263-1
长整型直接量需在数字后加L或l
运算时若有可能溢出,建议在第1个数字后加L

double:浮点型,8个字节,-263 ~263-1
浮点数直接量默认为double型,若表示float需在数字后加F或f
double和float型数据参与运算时,有可能会发生舍入误差,精确场合不能使用

boolean:布尔型,1个字节
只能存储true或false

char:字符型,2个字节,0 - 2^16-1;
采用Unicode字符集编码格式,一个字符对应一个码,表现的形式是字符char,但本质上是码int(0到65535之间)
Java中的char类型由两个字节即十六位来表示,因为是无符号数,所以为2的16次方,
ASCII码:‘a’—97 ‘A’—65 ‘0’—48

字符型直接量必须放在单引号中,有且仅有一个字符
特殊符号需通过来转义


类型间的转换

基本类型由小到大依次为:
​ byte----short----int----long----float----double
​ char----

两种方式:

自动/隐式类型转换:小类型到大类型

强制类型转换:大类型到小类型
语法:(要转换成为的数据类型)变量
注意:强转有可能发生溢出或丢失精度

两点规则:
整数直接量可以直接赋值给byte,short,char,但不能超出范围
byte,short,char型数据参与运算时,系统一律自动将其转换为int再运算


运算符

运算的符号
算术:+,-,,/,%,++,–
关系:>,<,>=,<=,==,!=
逻辑:&&,||,!
赋值:=,+=,-=,
=,/=,%=
字符串连接:+
条件/三目:(布尔表达式)?true:false


分支结构

基于条件执行某语句
if结构:

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

if…else结构:

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

if…else if结构:

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

switch…case结构:switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

优点:效率高、结构清晰
缺点:只能对整数判断相等
break:跳出switch
switch可以作用于byte,short,int,char,String,枚举类型


循环

反复多次执行一段相同或相似的代码

循环三要素:
循环变量的初始化
循环的条件(以循环变量为基础)
循环变量的改变(向着循环的结束变)
循环变量:在整个循环过程中所反复改变的那个数

循环结构:
while结构:先判断后执行,有可能一次都不执行

while( 布尔表达式 ) {
  //循环内容
}

do…while结构:先执行后判断,至少执行一次

do {
       //代码语句
}while(布尔表达式);

for循环:应用率高,循环结构变得更加简单

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

增强 for 循环:主要用于数组

for(声明语句 : 表达式)
{
   //代码句子
}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

跳出循环
break:跳出循环
continue:跳过循环体中剩余语句而进入下一次循环

嵌套循环:
循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列
执行过程:外层循环走一次,内层循环走所有次
建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层
break只能跳出当前一层循环


数组

是一种数据类型(引用类型)
相同数据类型元素的集合

定义:

初始化:给数组中的元素做初始化

访问:访问的是数组中的元素
通过(数组名.length)可以获取数组的长度(元素的个数)
通过下标/索引来访问数组中的元素
下标从0开始,最大到(数组的长度-1)

遍历/迭代:从头到尾挨个走一遍


方法

方法:函数、过程
封装一段特定的业务逻辑功能
尽可能的独立,一个方法只干一件事
方法可以被反复多次调用
减少代码重复,有利于代码复用,有利于代码维护

定义方法:五要素
​ 修饰词 返回值类型 方法名(参数列表) {
​ 方法体--------------具体的业务逻辑功能实现
​ }

调用方法:
无返回值:方法名(有参传参);
有返回值:数据类型 变量 = 方法名(有参传参);

return:
return 值; //1)结束方法的执行 2)返回结果给调用方​ ----------用在有返回值方法中
return; //1)结束方法的执行-----------------用在无返回值的方法中

形参:形式参数,定义方法时的参数为形参
实参:实际参数,调用方法时的参数为实参

数组方法
复制:
System.arraycopy(a,1,b,0,4);

//灵活性好
//a:源数组
//1:源数组的起始下标
//b:目标数组
//0:目标数组的起始下标
//4:要复制的元素个数

int[ ] b = Arrays.copyOf(a,6);

//灵活性差
//a:源数组
//b:目标数组
//6:目标数组的长度(元素个数)
//---若目标数组长度>源数组长度,则末尾补默认值
//---若目标数组长度<源数组长度,则将末尾的截掉

排序:
Arrays.sort(arrays); //升序排列(从小到大)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号