目录
学习笔记(p14) java的基本格式
学习笔记(p15) java中的注释
学习笔记(p16) Java中的标识符
学习笔记(p17) java中的关键字
学习笔记(p18) Java中的常量
学习笔记(p19) 变量的定义及其数据类型
学习笔记(p20) 变量类型的转换
学习笔记(p21) 变量的作用域
学习笔记(p22) 算术运算符
学习笔记(p23) 赋值运算符
学习笔记(p24) 比较运算符
学习笔记(p25) 逻辑运算符
学习笔记(p26) 运算符的优先级
学习笔记(p27) 任务2-1商城库存清单程序设计
学习笔记(p28) if条件语句
学习笔记(p29) switch语句
学习笔记(p30) while语句以及do...while循环语句
学习笔记(p31) for循环语句
学习笔记(p32) 嵌套循环
学习笔记(p33) 跳转语句(break)
学习笔记(p34) 跳转语句(continue)
学习笔记(p35) 任务2-2猜数字游戏
学习笔记(p36) 方法的定义及使用
学习笔记(p37) 方法的重载
学习笔记(p38) 数组的定义
学习笔记(p39) 数组的常见操作
学习笔记(p40) 多维数组的定义及使用
学习笔记(p41-p43)
学习笔记(p44)任务2-3随机点名器
在编写Java代码时,需要特别注意下列几个关键点:
(1) Java中的程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每条功能执行语句的最后都必须用分号(;)结束。
(2) Java语言严格区分大小写。例如,定义一个类时,Computer和computer是两个完全不同的符号,在使用时务必注意。
(4) Java程序中一句连续的字符串不能分开在两行中书写,如果为了便于阅读,想将一个太长的字符串分在两行中书写,可以先将这个字符串分成两个字符串,然后用加号(+)将这两个字符串连起来,在加号(+)处断行。
>在编写程序时,为了使代码易于阅读,通常会在实现功能的同时
为代码加一些注释。
>注释是对程序的某个功能或者某行代码的解释说明,它只在Java源文件中有效,在编译程序时编译器会忽略这些注释信息,不会将其编译到class字节码文件中去。
>Java中的注释有三种类型,具体如下:
1、单行注释:通常用于对程序中的某一行代码进行解释,用符号“//”表示。
2、多行注释:顾名思义就是在注释中的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾。
3、文档注释:以“/**”开头,并在注释内容末尾以“*/”结束。
>在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如,包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
>标识符可以由任意顺序的大小写字母、数字、下划线 ( 和美元符号(S) 组成,但不能以数字开头,不能是Java中的关键字。
>建议初学者在定义标识符时还应该遵循以下规则:
1、包名所有字母一律小写。例如:cn.itcast.test。
2、类名和接口名每个单词的首字母都要大写。如:ArrayList、Iterator。
3、常量名所有字母都大写,单词之间用下划线连接。例如:DAY OF_MONTH。
4、变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如, lineNumber、getLineNumber。
5、在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如使用userName表示用户名,password表示密码。
>关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。和其它语言一样,Java中保留了许多关键字,例如,class、public等,下面列举的是Java中所有的关键字:
conste、class、false、if、new、return、byte等。
>常量就是在程序中固定不变的值,是不能改变的数据。
>在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量
等
1、整型常量是整数类型的数据
2、浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。
3、字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号 (") 引起来,它可以是英文字母、数字、标点符号、以及由转义序列来表示的特殊字符。
4、字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号 (”")引起来,一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。
5、布尔常量即布尔型的两个值true和false,该常量用于区分一个事物
的真与假。
6、null常量只有一个值null,表示对象的引用为空。关于null常量将会在第三章中详细介绍。
在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识彻来标识。这些内存单元我们称之为变量,定义的标识符就是变量名内存单元中存储的数据就是变量的值。
整数类型变量
>用来存储整数数值,即没有小数部分的值
>整数类型分为4种不同的类型: 字节型 (byte) 、短整型 (short)整型 (int) 和长整型 (long) 。
浮点数类型变量
>浮点数类型变量用来存储小数数值。
>浮点数类型分为两种: 单精度浮点数 (flat) 、双精度浮点数(double) ,double型所表示的浮点数比float型更精确
字符类型变量
>用于存储一个单一字符,在Java中用char表示。
>每个char类型的字符变量都会占用2个字节。
自动类型转换
>也叫隐式类型转换,指的是两种数据类型在转换的过程中不需
要显式地进行声明。
>要实现自动类型转换,必须同时满足两个条件,
第一是两种数据类型彼此兼容,
第二是目标类型的取值范围大于源类型的取值范围。
2、强制类型转换
>强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。
当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转换。
>变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。
>在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域。
算术运算符就是用来处理四则运算的符号,这是最简单、最常用的运算符号。
Java中的算术运算符主要有+(加号)、—(减号)、*(乘号)、/(除号)、%(求余),它们都是双目运算符。
>赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量,表中列出了Java中的赋值运算符及用法。
赋值运算符以符号“=”表示,它是一个双目运算符(对两个操作数做处理),其功能是将右边操作数所含的值赋给左边的操作数。
>比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值,即true或false。
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之
间的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果为true,否则为false。
>逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型。
逻辑运算符是对真和假这两种逻辑值进行运算,运算后的结果仍是一个逻辑值。逻辑运算符包括&&(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符计算的值必须是boolean型数据。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。
在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,把这种顺序称作运算符的优先级。
代码如下:
public class BBB {
/*商品库存清单案例
* 变量的形式对商品的数据保存
* 品牌,尺寸大小,价格,配置,库存数量
* 三个品牌:苹果,联想thinkpad,华硕
*/
public static void main(String[] args) {
// 定义苹果电脑的属性
String macBrand = "MacBookAir";// brand:品牌
double macSize = 13.3;
double macPrice = 6988.88;
String macConfig = "i5处理器4GB128GB固态硬盘";// config:配置
int macCount = 5;
// 定义联想电脑
String thinkpadBrand = "ThinkPadT450";
double tinkpadSize = 14.0;
double thinkpadPrice = 5999.99;
String thinkpadConfig = "i5处理器4GB500GB硬盘";
int thinkpadConut = 10;
// 定义华硕电脑
String ASUSBBrand = "ASUS-FL5800";
double ASUSBSize = 15.6;
double ASUSBPrice = 4999.90;
String ASUSBConfig = "i7处理器4GB内存128GB固态硬盘";
int ASUSBConut = 18;
// 列表的顶部
System.out.println("------------------------商品库存清单------------------------");
System.out.println(
"品牌型号 尺寸 价格 配置 库存数");
// 列表中部
System.out.println(
macBrand + " " + macSize + " " + macPrice + " " + macConfig + " " + macCount);
// 快捷键ctrl+alt+上键:复制当前行到上一行
System.out.println(thinkpadBrand + " " + tinkpadSize + " " + thinkpadPrice + " " + thinkpadConfig
+ " " + thinkpadConut);
System.out.println(
ASUSBBrand + " " + ASUSBSize + " " + ASUSBPrice + " " + ASUSBConfig + " " + ASUSBConut);
// 设置分界线
System.out.println("---------------------------------------------------------");
// 定义库存总数和总金额
int total = macCount + thinkpadConut + ASUSBConut;
double moneyTotal = macPrice * macCount + thinkpadPrice * thinkpadConut + ASUSBPrice * ASUSBConut;
// 列表底部
System.out.println("库存总数是: " + total);
System.out.println("库存总金额是: " + moneyTotal);
}
}
代码如下:
if条件语句主要用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行\n另外的语句。\n 使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。
关键字f之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。if条件语句可分为简单的if条件语句、if...else语句和if..else if多分支语句。
switch语句中参数必须是整型、字符型、枚举类型或字符串类型,常量值1~n必须是与参数兼容的数据类型。\n\n switch语句首先计算参数的值,如果参数的值和某个case后面的常量表达式相同,则执行该case语句后的若干个语句,直到遇到break语句为止。此时如果该case语句中没有break 语句,将继续执行后面case中的若干个语句,直到遇到break语句为止。若没有任何一个常量表达式与参数的值相同,则执行default后面的语句。\n break的作用是跳出整个switch语句。\n default语句是可以不写的,如果它不存在,而且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。
while语句的循环方式为利用一个条件来控制是否要继续反复执行这个语句。
do...while循环语句与while循环语句类似,它们之间的区别是while语句为先判断条件是否成立再执行循环体,而do...while 循环语句则先执行一次循环后,再判断条件是否成立。也就是说do...while 循环语句中\"{ }\"中的程序段至少要被执行一次。
for循环是Java程序设计中最有用的循环语句之一。一个for循环可以用来重复执行某某语句,直到某个条件得到满足。
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do...while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套.
使用break语句可以跳出switch结构。在循环结构中,同样也可用break语句跳出当前循环体,从而中断当前循环。
continue语句是针对break语句的补充。continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。在for循环语句中遇到continue语句后,首先执行循环的增量部分,然后进行条件测试。在while和do...while循环中,continue语句使控制直接回到条件测试部分。
代码如下:
import java.util.Random;//引入Random
import java.util.Scanner;//引入Scanner
public class BBB1 {
public static void main (String[] args) {
//1.通过Random类中的nextInt(int n)方法,生成一个0~9的随机数
int randomNumber = new Random().nextInt(10);
System.out.println("随机数已生成!");
//2.输入猜的数字
System.out.println("----请输入您猜的数字:----");
Scanner sc = new Scanner(System.in);
int enterNumber = sc.nextInt();
//3.通过while循环,进行猜数字的对错判断
//猜对,跳出循环,游戏结束
while (enterNumber != randomNumber) {
if (enterNumber > randomNumber) {
System.out.println("猜大了,继续!");
} else {
System.out.println("猜小了,加油!");
}
System.out.println("请输入你猜的数字。");
enterNumber = sc.nextInt();
}
System.out.println("恭喜你回答正确");
}
//方法与总结:特别留心“}”与其对应的“{”,注意语句规范。
}
运行结果:
在Java中,声明一个方法的具体语法格式如下所示:
修饰符 返回值类型 方法名([参数类型 参数名 1,参数类型 参数名 2,......])(执行语句
return 返回值;
修饰符:是对访问权限的限定,例如,public、static都是修饰符
返回值类型:用于限定方法返回值的数据类型
参数类型:用于限定调用方法时传入参数的数据类型
参数名:是一个变量,用于接收调用方法时传入的数据
return关键字:用于结束方法以及返回方法指定类型的值
返回值:被return语句返回的值,该值会返回调用者
Java允许在一个程序中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载。
数组是指一组数据的集合,数组中的每个元素被称为元素,在数组中可以存放任意类型的元素,但同一个数组中存放的元素类型必须一致。
>在Java中,为了方便我们获得数组的长度,提供了一个length属性,在程序中可以通过“数组名.length”的方式来获得数组的长度,即元素的个数。
1、数组遍历
>在操作数组时,经常需要依次访问数组中的每个元素,这种操作叫
做数组的遍历。
2、数组最值
>在操作数组时,经常需要获取数组中元素的最值
3、数组排序
>在操作数组时,经常需要对数组中的元素进行排序,其中冒泡排序是比较常见的一种算法。冒泡过程中,不断比较数组中相邻的两个元素,较小者向上浮,较大者往下沉,整个过程和水中气泡上升的原理相似。
>多维数组可以简单地理解为在数组中嵌套数组。在程序中比较常见的就是二维数组。
二维数组常用于表示表,表中的信息以行和列的形式表示,第一个下标代表元素所在的行,第二个下标代表元素所在的列。
内容重复
代码如下:
import java.util.Random;
import java.util.Scanner;
public class BBB2 {
public static void addStudentName (String[] students){
//键盘录入多个同学姓名存储到容器中
Scanner sc = new Scanner(System.in);
for(int i=0;i
结果如下: