第14个视频
常量, 变量 ,数据类型, 运算符 ,流程控制, 数组方法。
我们需要掌握的 java基本语法有: 常量, 变量, 流程控制语句(判断 循环) 方法以及数组
需要了解的 java代码的基本格式和熟悉java运算符的使用(编码的基本格式)
这次的目标:
1:写程序要注意格式和规范
2:程序代码必须放在一个类中 类需要使用class关键字定义 再class前要加一个修饰符
特别需要注意的几点
程序代码分成 结构定义语句, 功能执行语句,其中结构定义语句中用于声明一个类或者方法 实行语句,用于实体具体的功能每条执行语句最后都要用分号结尾 ,java中大小写区分特别重要
如图:
第十五个视频
程序中的注释为了提高代码的阅读性,方便记忆, 方便查找, 方便理解
编译到class字节码会省略这些注释直接跳过注释
java的注释功能分
单行// (对程序一行代码的注释)
多行/*
文本注释"/**"
三种注释方式
如图:
第十六个视频
java中的标识符
在编程过程中经常需要在程序中定义一些符号来标记一些名称如:包名,类名,方法名,参数名,变量名等,这些符号被称为标识符 ,例如包的名字和类的名字,方法名字有着严格的要求,可以包含所有字母, 严格区分大小写下划线和美元符号,不能用数字开头 ,另外不能是java中的关键字的命名全部小写,类名每个单词的首字母都要大写。
如图:
第十七个视频
java中的关键字
关键字是编程语言里实现定义好并赋予了特殊含义的单词,也称作保留子,和其他语言一样,java中博阿留了许多关键字,例如class public,下面列举的java中的所有的关键字
例如 public, static, void, main这些关键字
public赋予了权限的含义 定义标识符的时候一定要避开关键字
标识符不能是java中的关键字
如图:
第十八个视频
1: java中的常量
常量就是在程序中固定不变的值,是不能改变的数据在java中,常量包括整数常量,浮点数常量,布尔常量 字符常量等.......
2: 整型常量
分二进制 由数字0和1组成的数字序列
八进制以0开头并且其后由0~7范围
十进制由数字0~9范围 内的整数组成的数字序列
十六进制 以0x或者0x开头并且气候由0~9,A~F
3: 浮点型常量
浮点型常量就是在数学中用到的小数,分为float单精度浮点型和double双精度浮点型两种类型,其中,单精度浮点数后面以f或者F结尾,而双精度浮点型则以d或者D结尾当然,在使用浮点数时也可以在结尾处不加任何后缀,此时虚拟机会默认为double双精度浮点数,浮点数常量还可以通过指数形式来表示具体如下
2e3f 3.6d 0f 3.84d 5.022e+23f
4:字符常量
字符常量用于标识一个字符,一个字符常量要用一对英文半角格式的单引号('')引起来 ,它可以是英文字母,数字,表示符号,以及有转义序列的特殊字符'a' '1' '6' '\r'等等......
5:字符串常量
字符串常量用于标识一串连续字符,一个字符常量要用一堆英文半角格式的双引号(")引起来 例如:
"hello worid " "123" "456"
6: 布尔常量
布尔常量有两个值 true和false 该常量区分一个事物的真与假
7: null常量
一般叫它为空常量表示对象的引用为空
第十九个视频
变量的定义
在程序运行期间随时可能产生一个临时变量 ,应用程序会将这些数据保存在以i写内存 ,单元中每个内存单元都会有标识符来标识,这些内存单元我们称之为变量,来定义标识符就是变量名,内存单元中储存的数据
数据类型分为 基本数据类型 ,分为三个1.数值型 2.字符型 3.布尔型,
数值型分为两种 一个是整数类型,一个是浮点类型 ,
引用数据类型分为 类,换口 ,数组 ,枚举, 注解。
整数类型:
浮点型:
转义字符:
布尔型:
字符型:
第二十个视频
变量的类型转换
当把一种数据类型的赋值给另一种数据类型的变量时,需要进行数据类型转换
根据转换方式的不同,数据类型转换可以分为两种 :自动类型转换和强制类型转换
1.自动类型转化
也叫隐式类型转换 指的是两种数据类型在转换的过程中不需要显式地进行声明;
要实现自动转换要同时满足两个条件
第一是两种数据类型彼此兼容
第二是目标类型的取值范围大于原类型的取值范围
byte可给赋值给比他容量大的整数类型
2.强制类型转换
指的是两种数据类型之间的转换需要进行显示地声明
当两种类型彼此不兼容,或者目标类型取值范围小于原类型时,自动类型转换无法进行时,这是就需要进行强制类型转换 强制类型转换格式如下
目标类型变量 +(目标类型)值
第二十一个视频
变量的作用域
变量需要在他的作用范围内才可以正常使用 这个作用范围称为变量的作用域
变量的定义范围一定要在大括号以内
在程序中,变量一定会在被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域
例:
第二十二个视频
算位运算符
算位运算符就是用来处理四则运算符的符号 这是最简单,最常用的运算符号
前++先加再赋值
后++先赋值再加
在进行取模(%)运算时 ,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关
第二十三个视频
赋值运算符
赋值运算符的作用就是将常量,变量 或者表达式赋值给某个变量,表中列出了java中的赋值运算符及用法
例如:
int x,y,z;
x = y = z =5;//为三个变量同时赋值
int x= y = z =5;//这样子写是错误的
第二十四个视频
比较运算符
比较运算符用于对两个数值或变量进行比较 其结果是一个布尔类型即true或者false
比较运算符在使用时需要注意一个问题,不能将比较运算符“==”误写成赋值运算符“=”
两个空格间不能加等号 判断两个数值是否相等用的是双等于号 不是一个等于号
第二十五个视频
逻辑运算符
逻辑运算符用于对布尔类型的数据进行操作 其中一个结果仍是福尔类型
&符号 一边又false就时false
或符号 一边是true就是true
非符号 非真即假 非假即真
逻辑运算符可以针对结果为布尔值的表达式进行运算
第二十六个视频
运算符号的优先级
对一些计较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,这种先后顺序用运算符的优先级
第二十七个视频
做一个商城清单案例
变量的形式对商品的数据保存
品牌 尺寸大小 价格 配置 库存数量
通过String类型 定义一个电脑型号和 处理器和内存华友固态硬盘
double双精度浮点类型 定义电脑价格和尺寸
通过这两个定义三个电脑的型号, 尺寸, 价格和配置
再通过一些格式在输出
第二十八个视频
if语句
if语句分别分为三种格式
1: if...u语句
2: if....else语句
3: if....else.....if.....else语句
这三种格式都有着自身的特点
if语句指如果满足某种条件,就进行某种处理,其语法格式如下
if(条件语句){
代码块
}
上述语法格式中,判断条件是一个布尔值,当值为true时才会被执行{}中的语句
if...else语句
if....else语句是指如果曼珠某种条件,就进行某种条件处理,否则进行另外一种处理 语法如下
if(判断语句){
执行语句
--
}else{
执行语句
--
}
如果判断是假的话就进行else语句判断 如果是真的话就直接输出
选择结构语句
在java中有一种特殊的运算叫三元运算,他和if-else语句类似语法如下
判断条件?表达式1:表达式2
三元运算通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值
if....else.....if.....else语句
if....else.....if.....else语句用于多个条件进行判断,进行多种不同的处理,其语法格式如下
if(判断条件){
执行语句
}
...
else if (判断条件n){
执行语句
}else{
执行语句n+1
}
第二十九个视频
switch条件语句
switch语句也是一种常见的选择语句。和if条件语句不同,他只能针对某个表达式的值做出判断,从而决定执行哪一段代码
在switch语句中,使用switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和某个目标匹配时,会执行对应case下的语句,switch语句的基本语法、
需要注意的是,在switch语句中的表达式只能是byte、short、char、int、枚举、string类型的值
在使用switch条件语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句秩序书写一次即可
第三十个视频
while循环语句
while语句和if条件语句有点类似,都是根据条件判断来决定是否执行条件后面的代码区别在于while循环语句会反复地进行条件判断,只要条件成立{}内地执行语句就会执行,知道不成立while循环结束
while循环语句地语法结构如下所示
while(循环语句){
条件语句
—
}
流程图如下
do...while循环语句和while循环语句功能类似,其语法结构如下所示
do{
执行语句
———
}while{循环条件};
第三十一个视频
for循环语句
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下 其语句格式如下所示;
for(初始化表达式;循环条件;操作表达式){
执行语句、
---
}
在上述语法格式中 for后面的()中包括了那部分内容,初始化表达式循环条件和才做表达式,它们之间用""分隔,{}中的执行语句为循环体
第三十二个视频
循环嵌套
循环嵌套是指在一个循环语句的中在定义一个循环语句的语法结构。while do...while for循环语句都可以进行嵌套,和并且他们之间可以互相嵌套,如最常见的for循环中嵌套for循环
第三十三个视频
跳转语句(break、continue)
跳转语句用于实现循环执行过程中程序流程的跳转,在java中跳转语句有break和continue两个语句
1: break语句 用在switch体哦阿健语句和循环语句中,它的作用是终止某个case并跳出switch结构
直接跳出循环
2: continue语句:用在循环语句中的作用是中止本次循环执行下一个循环语句
跳出本次循环执行下一个循环
第三十四个视频
循环结构语句
主要是使用for循环语句和if语句的嵌套再continue语句的输出方法
第三十五个视频
案例猜数字游戏
通过一个类中的nextint方法生成一个0~9之间的随即 数 创建扫描器获得从键盘上输入的值 定义一个整型变量a然后创建一个nextint(10);定义一个b赋值为从键盘上获取的数 再通过while语句中嵌套if语句判断错了就据徐才 ,对了的话就通过break语句直接输出 再关闭扫描器 从而完成这个代码
第三十六个视频
什么是方法
>假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。
发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地
方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。
>为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。
>上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。
在java中,声明一个方法的具体语法格式如下所以
修饰符 返回值 方法名{[参数类型 参数名 1 参数类型 参数名2、.....]}{
执行语句
------
return返回值
}
修饰符:是对访问权限的限定,例如public、static都是修饰符
返回值类型:用于限定方法返回值的数据类型
参数类型:用于限定调用方法是传入参数的数据类型
参数名:是一个变量,用于接收调用方法时传入数据
return关键字:用于结束方法以及返回值指定类型的值
返回值i:被return语句返回的值,改制会返回调用者
第三十七个视频
方法的重载
下面的方法实现两个整数相加
public static int add01(int x,int y){
return x+y;
}
下面的方法实现三个整数相加
public static int add02(int x,int y, int z ){
return x+y+z;
}
下面的方法实现两个小数相加
public static double add03 (double x,double y,)
return x+y ;
int sum1 =add01(1,2);
int sum2 =add02 (1,2,3);
double sum3(1,2,3);//、
再依次输出每个值
第三十八个视频
数组的定义
数组是之一组数据的集合,数组中的每个元素被称为元素 在数组中可以存放任何类型的元素,单同一个数组中存放的元素类型必须一致
在java中可以使用下列格式定义一个数组,具体如下
int[] x=new int [100];
上述语句就相当于内存中定义了100个int类型的变量,第一个变量的名称为x[1],以此类推,第一百个变量名称为x[99]这些变量的初始值都是0
为了更好理解数组的定义方式 具体如下
in[]x; //声明一个int[]类型的变量
x=new int[100]//创建一个长度为100的数组
在java中为了方便我们获得数组的长度,提供了一个length属性子啊程序中可以通过 数组名.length的方式来获得数组的长度,即元素的个数
当数组被成功创建后,数组中元素会被自动赋予一个默认值,根据元素类型的不同,默认初始化的值也是不一样的
在初始化数组时还有一种方式叫做静态初始化,就是在定义数组的同时就为数组的每个元素赋值。数组的静态初始化有两种方法如下
类型[]数组名 =new类型[]{元素,元素,.........};
类型[]数组名 =new类型[]{元素,元素,元素,'......};
第三十九个视频
数组的常见操作
数组遍历
在操作数组时,经常需要依次访问数组中的每个元素,这种操作叫做数组的遍历
例如arr[3]
分别赋值为 5 8 2 3
如果元素比较少的话可以依次定义
如果数组内的元素多的话就使用循环
循环: 循环的变量 从0开始,每次递增
for循环遍历数组
int[]啊让人= {1,2,3,4,5};//定义数组
//使用for循环遍历数组元素
for (int i=0,i<arr.length;i++);//通过索引访问元素
数组排序
在操作数组是,经常需要对数组中的元素进行排序,其中排序时比较常见的一种算法。冒泡过程中,不断比骄傲数组中相邻的两个元素,较小的向上浮,较大的往下沉,整个过程和水中的气泡的上升原理相似
数组最大值
在操作数组时,经常需要获取数组中的元素的最大值
定义变量max保存数组中的0索引
max=arr[0]
max和数组中的其他索引上的元素进行比较
如果数组中的元素大雨了变量max
变量max记住住角度的数值
数组中的所有元素都遍历并且比较完成
变量max保存的就是数组中的最大值
第四十个视频
多维数组
多维数组可以简单的理解为在数组中嵌套数组。在程序中比较常见的就是二维数组
二维数组的定义有很多中,具体如下
方法一
int[][]arr=new int [3][4];
上面的代码定义了一个三行四列的二维数组
方法二
int[][]arr=new int[3][]
上述方式与第一种方式类似,只是数组中的每个元素长度不确定,采用第二种方式常见的数组结构
方法三
int[][]arr={{1,2},{3,4,5,6},{7,8,9}};
采用上述方式定义的二维数组有三个元素,这三个元素都是数组分别是{1,2},{3,4,5,6},{7,8,9}
对为数组对元素的访问也是通过角标的方式,例如访问二维数组中第一个元素数组的第二个元素的方式如下所示
arr[0][1];
其中41,42,43 三个是重复的
第四十四个视频
案例 随机点名器
存储全班同学的姓名,创建一个存储多个同学姓名的容器
键盘上录入的每个同学的名字存储到容器中
创建扫描器
遍历数组,得到每个同学的名字
然后再使用for循环
依次输出
随机点其中一人 根据数组产孤独,获得随机数
通过随即所以从数组中获取姓名
返回随机点到的名字
再创建一个可以存储多个同学姓名的容器(数组)
存储全班同学的名字
总揽全班同学的名字
随机点出其中一人
再依次输出