Java第七次作业
no.14
常量, 变量 ,数据类型, 运算符 ,流程控制, 数组方法。
需要掌握的 java基本语法 ,常量, 变量, 流程控制语句(判断 循环) 方法以及数组
需要了解的 java代码的基本格式和熟悉java运算符的使用(编码的基本格式)
1:写程序必须要有格式和规范
2:程序代码必须放在一个类中 类需要使用class关键字定义 再class前要加一个修饰符
no.15
注释是一个非常棒的东西,它能使提高代码的阅读性,方便记忆, 方便查找, 方便理解
编译器在读取它时会忽略
注释的方式有三种
1.// 只对单行有效
2./* */ 在*之间的都有效,不限制行数
3./** 文本注释
no.16
java中的标识符
在编程过程中经常需要在程序中定义一些符号来标记一些名称如:包名,类名,方法名,参数名,变量名等,这些符号被称为标识符 ,例如包的名字和类的名字,方法名字有着严格的要求,可以包含所有字母, 严格区分大小写下划线和美元符号,不能用数字开头 ,另外不能是java中的关键字的命名全部小写,类名每个单词的首字母都要大写。
no.17
java中的关键字
关键字是编程语言里实现定义好并赋予了特殊含义的单词,也称作保留子,和其他语言一样,java中博阿留了许多关键字,例如class public,下面列举的java中的所有的关键字
例如 public, static, void, main这些关键字
public赋予了权限的含义 定义标识符的时候一定要避开关键字
标识符不能是java中的关键字
no.18
java中的常量
常量就是在程序中固定不变的值,是不能改变的数据在java中,常量包括整数常量,浮点数常量,布尔常量 字符常量等.......
在演示的过程中学习到了一个知识点print后面加ln可以换行,同样的换行方法还有加\n等方法,同时还注意到了System的头字母需要大写,byte和其他的都不需要头字母大写。long开头定义时末尾需要加L。
文字描述:
定义一个题目头
定义一个主函数
定义一个byte类型的整型变量,内存空间为8位,定义内容为b=1
打印b
定义一个short类型的整型变量,内存空间为16位,定义内容为s=23456
打印s
定义一个int类型的整型变量,内存空间为32位,定义内容为i=78901234
打印i
定义一个long类型的整型变量,内存空间为64位,定义内容为I =56789012345678L(L最好大写且并不可少)
打印I
运行,结果为
在演示的过程中学习到了以单精度浮点数float的定义开头结尾一定要加F,电脑打印完单精度浮点数后会自动换行。
文字描述:
定义一个题目头
定义一个主函数
定义一个float单精度浮点数,内存空间为32位,定义内容为f=1.32F(注意F不可省略,按照国际惯例是大写,小写也可以)
打印f
定义一个double双精度浮点数,内存空间为64位,定义内容为d=3.1415926(因为上一行代码是float类型的所以不需要换行,结尾可以加D或者d来告诉电脑这是一个双精度浮点数,可加可不加)
打印d
第一个课堂作业p35例题3.2根据身高体重计算BMI指数
创建BMIexponent类,声明double型变量height来记录身高,单位为米;声明int型变量weight记录体重,单位为千克;根据BMI=体重/(身高*身高)计算BMI指数。下面是我的身高体重所计算出来的BMI:
我的体重是过重的,但我会努力减肥。
文字描述:
定义一个题目头
定义一个主函数
定义一个双精度浮点数double,定义内容为height=身高,单位米
定义一个整型变量int,定义内容为weigt=体重,单位kg
打印身高为height
打印体重为weigt
打印BMI指数exponent
打印体重属于
如果BMI指数小于18.5那么
打印体重过轻
如果BMI指数大于等于18.5而且小于24.9那么
打印体重为正常范围
如果BMI指数大于24.9而且小于29.9那么
打印体重为体重过重
如果BMI指数大于等于29.9那么
打印体重为肥胖
以上就是我在这节JAVA课上所学到的知识以及课堂作业完成的情况。
no.19
变量的定义
在程序运行期间随时可能产生一个临时变量 ,应用程序会将这些数据保存在以i写内存 ,单元中每个内存单元都会有标识符来标识,这些内存单元我们称之为变量,来定义标识符就是变量名,内存单元中储存的数据
数据类型分为 基本数据类型 ,分为三个1.数值型 2.字符型 3.布尔型,
数值型分为两种 一个是整数类型,一个是浮点类型 ,
引用数据类型分为 类,换口 ,数组 ,枚举, 注解。
no.20
变量的类型转换
当把一种数据类型的赋值给另一种数据类型的变量时,需要进行数据类型转换
根据转换方式的不同,数据类型转换可以分为两种 :自动类型转换和强制类型转换
1.自动类型转化
也叫隐式类型转换 指的是两种数据类型在转换的过程中不需要显式地进行声明;
要实现自动转换要同时满足两个条件
第一是两种数据类型彼此兼容
第二是目标类型的取值范围大于原类型的取值范围
byte可给赋值给比他容量大的整数类型
2.强制类型转换
指的是两种数据类型之间的转换需要进行显示地声明
当两种类型彼此不兼容,或者目标类型取值范围小于原类型时,自动类型转换无法进行时,这是就需要进行强制类型转换
no.21
变量的作用域
变量需要在他的作用范围内才可以正常使用 这个作用范围称为变量的作用域
变量的定义范围一定要在大括号以内
在程序中,变量一定会在被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域
no.22~27
赋值运算符:赋值运算符以符号”=“表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数。例如: int a=100;
如图
算术运算符:Java中的算术运算符主要有加减乘除取余,+-*/%,它们都是二元运算符
自增和自减运算符:自增和自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整形或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。放在操作元前面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加1(减1)。例如:
++a(--a);表示在先自增或自减然后再使用
a++(--a);表示在先使用再自增或自减
如图
比较运算符:比较运算符应该是最简单的了,一看便知,就不多解释看下图
no.28
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
}
no.29
switch条件语句
switch语句也是一种常见的选择语句。和if条件语句不同,他只能针对某个表达式的值做出判断,从而决定执行哪一段代码
在switch语句中,使用switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和某个目标匹配时,会执行对应case下的语句,switch语句的基本语法、
需要注意的是,在switch语句中的表达式只能是byte、short、char、int、枚举、string类型的值
在使用switch条件语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句秩序书写一次即可
no.30
while循环语句
while语句和if条件语句有点类似,都是根据条件判断来决定是否执行条件后面的代码区别在于while循环语句会反复地进行条件判断,只要条件成立{}内地执行语句就会执行,知道不成立while循环结束
while循环语句地语法结构如下所示
while(循环语句){
条件语句
—
}
do...while循环语句和while循环语句功能类似,其语法结构如下所示
do{
执行语句
———
}while{循环条件};
no.31
for循环语句
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下 其语句格式如下所示;
for(初始化表达式;循环条件;操作表达式){
执行语句、
---
}
在上述语法格式中 for后面的()中包括了那部分内容,初始化表达式循环条件和才做表达式,它们之间用""分隔,{}中的执行语句为循环体
no.32
循环嵌套
循环嵌套是指在一个循环语句的中在定义一个循环语句的语法结构。while do...while for循环语句都可以进行嵌套,和并且他们之间可以互相嵌套,如最常见的for循环中嵌套for循环
no.33
跳转语句(break、continue)
跳转语句用于实现循环执行过程中程序流程的跳转,在java中跳转语句有break和continue两个语句
1: break语句 用在switch体哦阿健语句和循环语句中,它的作用是终止某个case并跳出switch结构
直接跳出循环
2: continue语句:用在循环语句中的作用是中止本次循环执行下一个循环语句
跳出本次循环执行下一个循环
no.34
循环结构语句
主要是使用for循环语句和if语句的嵌套再continue语句的输出方法
no.35
这个视频没我的作业写的行,请看我发布的第三章内容和第四次作业
no.36~37
什么是方法
>假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。
发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地
方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。
>为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。
>上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。
在java中,声明一个方法的具体语法格式如下所以
修饰符 返回值 方法名{[参数类型 参数名 1 参数类型 参数名2、.....]}{
执行语句
------
return返回值
}
修饰符:是对访问权限的限定,例如public、static都是修饰符
返回值类型:用于限定方法返回值的数据类型
参数类型:用于限定调用方法是传入参数的数据类型
参数名:是一个变量,用于接收调用方法时传入数据
return关键字:用于结束方法以及返回值指定类型的值
返回值i:被return语句返回的值,改制会返回调用者
no.38
数组的定义
数组是之一组数据的集合,数组中的每个元素被称为元素 在数组中可以存放任何类型的元素,单同一个数组中存放的元素类型必须一致
在java中可以使用下列格式定义一个数组,具体如下
int[] x=new int [100];
上述语句就相当于内存中定义了100个int类型的变量,第一个变量的名称为x[1],以此类推,第一百个变量名称为x[99]这些变量的初始值都是0
为了更好理解数组的定义方式 具体如下
in[]x; //声明一个int[]类型的变量
x=new int[100]//创建一个长度为100的数组
在java中为了方便我们获得数组的长度,提供了一个length属性子啊程序中可以通过 数组名.length的方式来获得数组的长度,即元素的个数
当数组被成功创建后,数组中元素会被自动赋予一个默认值,根据元素类型的不同,默认初始化的值也是不一样的
在初始化数组时还有一种方式叫做静态初始化,就是在定义数组的同时就为数组的每个元素赋值。
no.39
数组的常见操作
数组遍历
在操作数组时,经常需要依次访问数组中的每个元素,这种操作叫做数组的遍历
例如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保存的就是数组中的最大值
no.40
替换数组元素
Arrays.fill(数组名,值);
替换数组部分元素:前改后不改
Arrays.fill(数组名,前索引,后索引,值);
数组排序
Arrays.sort(数组名);
复制数组:空位补0 溢出去掉
新数组名=Arrays.copyof(旧数组名,新数组长度);
复制数组部分元素:前在后不在
新数组名=Arrays.CopyOfRange(旧数组名,前索引,后索引);
查询数组元素:先排序再查询
索引=Arrays.binarysearch(数组名,元素);
查询数组元素:先排序再查询 前含后不含
索引=Arrays.binarysearch(数组名,前索引,后索引,元素);