S1java基础学习笔记
第一章 Java基础
程序目标:减轻现实生活中一类人的工作量,提高工作效率。
学员最终可以书写系统:
超市管理系统,POS机系统等
入库单
销售单
01.课程重点
五大重点:
01.分支(选择)结构
02.循环结构
03.数组
04.二重循环
05.带参方法
02.什么是计算机程序?
解析:就是为了完成某一项工作而执行的一系列有序指令的集合。
03.Java相关的技术有哪些?
JavaSE(桌面应用开发) JavaEE(Web开发)
老师,你教教我如何判定一个程序是桌面程序还是web程序?
解析:浏览器:
IE
搜狗浏览器(内核IE) 傲游 世界之窗 360 QQ 猎豹
FireFox
Opera
IE不等于浏览器,只是浏览器的一种
判定规则:如果一个程序(软件)不需要借助浏览器就可以执行的,那么就是桌面应用程序
反之,是web应用程序。
04.开发Java程序的步骤有哪些?
编写,编译,运行
05.Java程序的基本框架是什么?
解析:外层框架和内层框架,详细见后续讲解。
06.Java的注释类型有哪些?
单行://
多行:/**/
课程重点:
01.平台和语言不是一码事。一个平台下可以运行多种语言编写的代码。
班级管理系统
宿舍管理系统
超市管理系统
国家电力管理系统
水费管理系统
OA管理系统
07.开发自己的第一个java程序
01.配置环境变量
001.对我的电脑点击右键→属性→高级系统设置→环境变量→系统变量,在系统变量中
查找有没有名称为path的变量名,如果有,直接点击“编辑”按钮,然后按“Home”键将
光标定位到第一个位置
002.打开“我的电脑”→打开C盘→找到“Program Files文件夹”→Java→jdk1.7.0_17
→bin,复制路径
003.将复制的路径粘贴到光标闪动的位置,然后紧跟一个分号(;)
004.一路确定,直到所有窗口消失。
005.打开“开始”→“运行”→输入cmd→输入javac回车,如果出现一连串中文,证明
环境变量配置成功。
02.编写代码
001.在D盘的根目录创建一个名称为Hello的后缀名为java的文件。
002.编写代码
03.编译
通过javac命令将后缀名为.java的文件编译成后缀名为.class的文件(字节码文件)
04.运行
通过java命令运行后缀名为.class的文件,运行的时候,后缀名不需要
使用记事本编写第一个Java应用步骤
1.编写源程序
2.用javac命令将后缀名为.java文件编译成后缀名为.class的文件
3.使用java命令执行硬盘上后缀名为.class,但是点和class都不要
说有同学问,为什么在把.class文件用java命令执行的时候,不需要后缀?
专业人士解析:
当我们把.class文件交给JVM(Java虚拟机)的时候,它可以自动识别出后缀。
Java执行流程
Happy.java---第一道编译工作交给Java编译器---->Happy.class(字节码文件)
-------第二道编译交给JVM----->二进制(CPU可以识别)
08.程序编码规范
解析:作为一个专业的程序员,编码规范如下:
01.文件名,所有代码的名字都必须是英文的,而且所有出现的标点符号都是在
英文半角下。
02.代码要有缩进。
09.MyEclipse和Eclipse区别?
解析:MyEclipse(收费的)
Eclipse(免费的)
MyEclipse功能比较强大
10.Java程序的执行机制
解析:01.编译过程
就是将后缀名为.java的文件通过java编译器编译成后缀名为.class的文件,编译命令
javac
02.执行(运行)过程
就是通过java虚拟机(jvm)执行硬盘上后缀名为.class的文件,执行的命令是java
05.public class HelloWorld{
public static void main(String[] args){
System.out.println("我的第一个Java程序");
}
}
我们书写代码是在内层框架中。
06.main方法是java程序的入口,所有程序都是从main方法的第一行代码开始执行的。
07.println()换行打印输出内容,print()不换行
11.转义字符
\n:换行
\t:一系列空格
考试啊亲:第二章学完后
09.java中的注释
单行注释//
//我是高贵的注释:我有特权,编译器不会理会我
//几十万行代码: 3个月后 方便团队成员阅读,方便自己阅读
多行注释:/**/
10.在java中,包名中每一个点都对应硬盘上的一层文件夹
11.在真正的开发中,咱们书写的代码所做的单元测试,都是由程序员来完成的。
第二道测试是由专业的测试人员完成的。
Bug
作业环节:
01.日记一篇
02.前两章单词
03.课后第3和第四题
第二章 变量 数据类型 运算符
1.变量
重点:01.变量就是一块空间(用旅馆的例子做类比)
02.变量三要素:数据类型 变量名 变量值
03.由于电脑记录位置的时候不是很好找(0x0156892321)变量名(num)。
二层 左手边 第三间(203)
2.数据类型
int
char
String
double
char类型只能存储单个字符,如果你想存储一个空字符,要打一个空格。
3.命名规范,如不规范,买糖吃
1.包名所有字母均小写。
2.类名首字母大写
3.变量首字母小写,后续有含义的单词首字母大写。例如stuName stuAge
4.首字母只能是字母,下划线和$符号中的一个,后续的内容可以是数字。
注意点:变量名不能和关键字重复
4.The local variable title may not have been initialized
局部变量"title"没有被初始化(赋值)
定义变量的两种方式
001.先声明,再赋值
int num;
num=5;
002.声明的同时并赋值
int num=5;
5.表达式概念:
用运算符将操作数连接起来的式子就称为表达式a+b
6.赋值运算符(=)
算术运算符:+ - * / %
自增运算符
int num=5;
num++;//等价于 num=num+1;
//++在前和在后的区别
System.out.println(num);
7.类型转换
1.自动类型转换
规则1:
在一个表达式中,如果有一个操作数是double类型,那么整个表达式会被自动提升会double类型
规则2:类型相容,目标类型>源类型
2.强制类型转换
规则:类型相容,目标类型<源类型
8.Scanner用法
如何接收用户从键盘上录入的内容?
路人甲说:接收int怎么搞?
专业人士解析:input.nextInt()
路人乙收:如何接收double类型?
专业人士解析:input.nextDouble();
星爷问:如何接收字符串?
专业人士解析:input.next()
使用Scanner分三步:
01.先导入包import java.util.Scanner; (进入到商场)
02.创建一个扫描仪对象 Scanner input=new Scanner(System.in);
02.启动扫描按钮 String name=input.next();
9.个十百千问题
作业环节:
01.日记
02.第二章总结
03.第二章课后除了类型转换题目
04.开通自己的Blogs
第三章 if选择结构
Int num=70;
If(num>90){
//执行
}else{
}
//www.cnblogs.com
//http://www.oschina.net/
//csdn
//http://www.iteye.com/magazines
//51aspx源码网
01.分支结构
从这一章开始我们书写的代码可能不是从上到下顺序执行,就是程序的流程可以
发生跳转。这种结构分支结构。之前我们所有代码都是顺序执行。
02.逻辑运算符
&&:逻辑与
*表达式1&&表达式2 同真为真,其余为假
||:逻辑或
*:表达式1&&表达式2 有真必真,其余为假
!:逻辑非
*:取反
03.那些年,我们犯的错
01.错误:javScore cannot be resolved
解决方案:可能性有两种
*:就是变量名书写错误
*:无法访问到该变量
02.不堪入目的在类里面直接写代码,代码没有出现在main方法中
04.if-else选择结构
语法:if(){
}else{
}
05. java中产生随机数方法
(int)(Math.random()*10);
范围:从0到1,能取到0,但是取不到1
06.多重if选择结构
if(条件){
}else if(){
}else{
}
多重if各个分支如果顺序互换,语法不报错,但是会影响程序的运行结果 。
07.在java中,比较两个字符串是否相同,用的是equals,而不是==号。
08.嵌套if
在一个ifelse选择结构中,又嵌套了另外一个完成的ifelse选择结构
if(){
if(){
}else{
}
}else{
}
作业时间:
1.第四章 Switch选择结构预习
2.日记本
3.单词3和4章
4.今天讲的
产生1到3之间的随机数
If-else
多重if
嵌套if
第四章 Switch选择结构
01.使用Switch语句常见错误:
1.case后必加break,防止case穿透
2.case后面的变量必须各不相同
3.default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略
4.switch后面小括号中表达式的值必须是整型或字符型。
02.通过hasNextInt()方法来判定用户录入的内容是否 是数字
04.登陆素材
System.out.println("********欢迎进入微冷的雨购物管理系统************");
System.out.println("菜单功能:");
System.out.println("\t1.登陆系统");
System.out.println("\t2.退出系统");
System.out.println("请输入您要操作的功能,输入数字即可,亲!!!!");
System.out.println("欢迎进入主界面,该软件为您提供了丰富的功能");
System.out.println("1.客户信息管理");
System.out.println("2.购物结算");
System.out.println("3.真情回馈");
System.out.println("4.注销");
System.out.println("是否参加优惠换购活动:");
System.out.println("1:满50元,加2元换购百事可乐饮料1瓶");
System.out.println("2:满100元,加3元换购500ml可乐一瓶");
System.out.println("3:满100元,加10元换购5公斤面粉");
System.out.println("4:满200元,加10元可换购1个苏泊尔炒菜锅");
System.out.println("5:满200元,加20元可换购欧莱雅爽肤水一瓶");
System.out.println("0:不换购");
System.out.print("请选择:");
作业时间
01.15分钟提问单词和各种if
02.颁发前3名奖品
03.自行作业
00.预习第五章 循环结构
01.日记本写一篇
02.单词
03.博客文章(if-Switch选择结构)
第五章 循环结构(一)
1.之前学习的两种结构
01.顺序结构
02.分支结构
03.循环结构
2.While循环结构
*while循环
循环四要素:01.初始变量 02.循环条件 03.改变迭代变量的值 04.循环体
*:通过while循环解决“张浩写1000遍好好学习的问题”
*:字符串作为循环条件
老师每天检查张浩的学习任务是否合格,如果不合格,则继续进行。
老师给张浩安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。
*:初始变量为多个值的循环
2012年培养学员25万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到100万人?
3.练习
*计算100之内的偶数之和
*查询商品价格
*结账和找零
4.do while循环结构
answer cannot be resolved(解析)
do{
}while(条件表达式);
do{
System.out.println("已经完成编码");
System.out.println("合格了吗?(y/n)");
answer=input.next(); //n
}while(answer.equals("n"));
do-while循环的执行机制:
首先do所在的{}里面的内容执行一遍,然后拿变量answer和固定的字符串"n"做对比,如果
条件成立,那么继续执行do{}中的内容,如果不成立,那么就退出整个do-while循环。
5.断点调试步骤
设置断点
启动调试
单步运行
调试启动后,运行到设置断点的代码行将停住
点击F6可以单步运行程序,观察程序运行过程
观察变量
单步运行时可以在“变量”视图中看到变量当前的值
发现问题
修正代码,重新运行
解决问题
二、程序调试的目的:找出缺陷原因,修正缺陷
三、程序调试的主要方法:设置断点、单步执行、观察变量
第六章 循环结构(二)
1.for的出现是为了精简之前while和do-while循环的语法,将之前散乱排列的其中三个要素融合到了for循环固定的语法结构中
For(表达式1;表达式2;表达式3){
表达式1:初始变量
表达式2:循环条件
表达式3:迭代变量
}
作业:第七章项目
日记
第八章 数组
1. 数组的定义:
解析:数组就是一组相同数据类型的集合,可以看成是一个承载一堆
相同类型数据的一个箱子。
2.定义一个变量相当于在内存上占据一块空间
定义一个数组相当于在内存上占据一连串内存空间
3.通过length可以获取数组中一共有几个元素
4.案例
int[] nums=new int[3];
数组的类型其实上就是数组当中每个元素的类型。
String[] names=new String[3];//数组的声明
names[0]="张靓颖";
names[1]="刘德华";
names[2]="周星星";//赋值
//names[3]="巩俐";//下标越界
for(int i=0;i<names.length;i++){
System.out.println(names[i]);//使用
}
double[] nums=new double[3];
nums[0]=1.0;
nums[1]=2.0;
nums[2]=3.0;
for(int i=0;i<nums.length;i++){
System.out.println(nums[i]);
}
2.数组四要素
001.标识符:指的是数组的名字
002.数组元素:数组中的每一项数据都称为数组的一个元素
003.数组下标:某个元素在数据中的位置或者编号
004.数组类型:每一个元素的类型
6.注意点:数组一旦定义,不可以再改变
7.使用数组的优点?
解析:001.代码量减少了
002.方便查找
8.定义数组的时候通过new关键字开辟空间
*********************************************************
我们的第三节课
3.会使用三种方式来对数组赋值
方式一:通过下标赋值
names[0]
方式二:通过在声明的同时直接通过{}赋值
int[] nums={1,2,3};
方式三:循环赋值(借助数组的下标)
02.会通过循环的方式给数组元素赋值
03.常见错误
04.数组排序(升序)
05.打擂比较算法
if(num>max){
max=num;
}
01.回顾数组
目的:为了方便的操作数据类型相同的一组数据,我们出现了数组。
因为使用数组可以简化我们对数据的存取操作。
int[] nums=new int[3];
String[] names=new String[3];
double[] numbers=new double[3];
方式二:通过{}直接赋值
int[] nums={1,2,3,4};
*:如何获取数组中元素的个数?
解析:length
*:通过for循环逐个遍历数组中每个元素,然后输出
for(int i=0;i<nums.length;i++){
System.out.println(nums[i]);
}
04购物金额结算
05.数组排序
如何对一些列数字进行降序排列??
解析:sun公司并没有提供一个方法专门用于降序排列,但是我们可以转换
一下思路,先对数组中元素进行升序排列,然后降序输出数组中元素。
031.补充问题:
在我们自己的类中,可以对多个系统类进行导入使用。例如可同时使用Arrays和Scanner
06.打擂比较算法
07.插入算法(专题来讲)
两套代码:
Eg1:
public static void main(String[] args) {
// 我有一个按照升序排列的int类型数组
//现在我想将35扔到该数组中,但是得保证整个数组依然是升序排序
int[] nums={10,20,30,40};
int insertNum=25;
//01.打印原数组的内容
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]+"\t");
}
//先大笑三声,终于出错了
//怕的是你想让程序,
System.out.println("");
//01.定义一个长度为原数组长度+1的数组
int[] newNums=new int[nums.length+1];
//02.将旧数组的第i项的值赋值给新数组
for (int i = 0; i < nums.length; i++) {
newNums[i]=nums[i];
}
//_10__ __20__ _30__ __40__ __0__
//03.找位置
int index=newNums.length-1;//应该将35扔到什么位置
for (int i = 0; i < newNums.length; i++) {
if(newNums[i]>insertNum){
//当前的i就是我要找的位置
//所以我将i的值赋值给index偷偷记录起来
index=i;
break;
} //[3]
} //35
//_10__ __20__ _30__ __40__ __0__
//04.元素后移,但是需要倒着移,将[i-1]的值赋值给第[i]
for (int i = newNums.length-1; i >index; i--) {
newNums[i]=newNums[i-1];
}
//05.给index位置重新赋值
newNums[index]=insertNum;
for (int i = 0; i < newNums.length; i++) {
System.out.print(newNums[i]+"\t");
}
}
Eg2:字符串相关
//插入算法
String[] songs={"Island", "Ocean", "Pretty", "Sun"};
for (int i = 0; i < songs.length; i++) {
System.out.print(songs[i]+"\t");
}
System.out.println("");
String insertSong="zoo";
//01.定义一个新数组,长度=旧数组长度+1
String[] newsongs=new String[songs.length+1];
//02.循环赋值
for (int i=0;i<songs.length;i++) {
newsongs[i]=songs[i];
}
//03.找位置
int index=newsongs.length-1;//找的位置
for (int i = 0; i < newsongs.length-1; i++) {
//半年时间理解一句话::
//如果一个对象是null,那么是不能使用它的任何属性和方法的
if (newsongs[i].compareToIgnoreCase(insertSong)>0) {
index=i;
break;
}
}
//04.循环后移,倒着移
for (int i = newsongs.length-1; i >index; i--) {
newsongs[i]=newsongs[i-1];
}
//05.重新给index位置赋值
newsongs [index]=insertSong;
for (int i = 0; i < newsongs.length; i++) {
System.out.print(newsongs[i]+"\t");
}
作业:1.日记本
2.第八章预习(排序,打擂算法 ,插入算法)
3.第七章项目
4.上机练习1和2
3.我认为读书、首先要思考,要深入地思考。不思考,读书读多少遍也没有用。铅笔、纸,我个人认为都是读书时,非常重要的条件。阅读到一定阶段,就会思考,就会形成不同的主题。 随之,就会进行主题阅读。要学会有效地,系统地进行知识的连接。从不同的角度去创造性地思考问题。
4. 我平时工作很忙、下班后很累,回家后就想休息。我如何解决这种局面、首先要积极主动地去思考。不要让自己的每一天,平平淡淡地度过。自己主动地、持续地去创造一些幸福快乐的时刻、巅峰的时刻。 不要让自己的每一天碌碌无为。我的改进方法是,下班后,抽出一个小时去跑步,感受运动的巅峰时刻。这样下班后,就不很疲劳。学习、工作、休息就会非常有效率。
5. 没有时间来学习。 就学习本身而言,始终是最重要的事情,当然学习的方式,有很多种。 多反思,多问“为什么”,往往会找到问题的答案。我在使用番茄钟工作法之前,上班很累,效率很低,加班很多。使用番茄钟工作法之后,加班逐渐地少了。
6. 要学以致用,学习有目标,我在敏捷个人的年度回顾中曾提到了,像游泳时的状态,不游就会掉下去。没有目标就是这种情况。更具体的目标,就是我们面临的一个个的具体的问题。
第九章 二重循环
第九章 二重循环
01.数组中插入元素的思想
关键是步骤必须清楚
001.将旧数组中每个元素复制到新数组中
002.找位置:找到用户输入的歌曲song应插入的位置
核心思想:将旧数组中第i项的值与song对比,如果
大于0,那么证明该位置(index)就是我们要找的位置。
003.index之后的元素后移,这里要注意,循环必须倒序执行。
一定要注意循环条件,避免数组下标越界。
004.给index位置赋值为song
02.二重循环
1.直角三角形
*
**
***
****
*****
*号(j) 行号(i)
1 1
2 2
3 3
for(i=1;i<=3;i++){
for(j=1;j<=i;j++){
System.out.print("*");
}
System.out.println("");
}
*
***
*****
*******
*********
i(行号) j(*号个数)
1 1
2 3
3 5
4 7
5 9
j=2*i-1
*****
****
***
**
*
i(行号) j(*号个数)
1 5
2 4
3 3
4 2
5 1
i+j=6
j=6-i
等腰三角形
*
***
*****
*******
*********
for(int i=1;i<=5;i++){
//第一个循环控制空格
for(int j=1;j<=5-i;j++){
System.out.print(" ");
}
//第二个循环控制*号
for(int k=1;i<=2*i-1;k++){
System.out.print("*");
}
System.out.println("");
}
解决问题的核心就是求i和j的关系
行数(i) 空格数(j) 星号(k)
1 4 1
2 3 3
3 2 5
4 1 7
5 0 9
i和j,i和k的关系
j=5-i
k=2*i-1
菱形打印
*
***
*****
*******
*****
***
*
解决问题的核心就是求i和j的关系
行数(i) 空格数(j) 星号(k)
i和j的关系
*****
***
*
***
*****
在二重循环中,如果内层循环中有break关键字,那么她只能跳出当前循环,不能跳出外层循环。
*********
* *
*********
第十一章 类和对象
第十一章 类和对象
1.什么是对象?
解析:是不是对面有一个美女你“狂敲键盘”就是面向对象编程呢??
真正的对象:在现实的生活中,你肉眼能看的见或者摸得着的所有的物体都可以看成是对象,但是
判定是对象还是类有一个核心点,就是
*对象是能唯一区别于其他事物的一个个体
2类的概念:
具有相同属性(静态特征)和行为(操作)的一系列事物的统称。
3.类和对象的关系
解析:类是对象的模板,对象是类的实例
解析:public class Student{
//内容
public String name;
public int age;
public String address;
//方法
public void SayHello(){
System.out.println("早上好!");
}
}
规范:在java中,定义类必须首字母大写。
3.如何创建一个类的对象?
解析:Student stu=new Student();
stu.name="张靓颖";
stu.age=100;
stu.address="北京某地";
stu.SayHello();
4.大家眼中的对象是神马???
解析:”另一位“,”客户“
你自身 ,一个水杯 ,显示器,
5.对象:现实生活中,能看得到,摸得着的有区别于其他事物独有特征的东西我们就可以称之为对象 。
每一个对象都有自身特有的特征,这些特征包括动态和静态两个方面。
动态就称为操作(方法) ,静态特征就称为属性。
6.Java,C#都是面向对象的语言,C语言面向过程
7.登陆:十一
注册
购物车添加商品 9.5
订单形成
8.oo:Object
oop:Object Oriented Programming,OOP,面向对象编程
OOD:Object Oriented Designer:面向对象设计
架构师
分析师
小胖:12306购票的车次查询
小张:12306购票的网上支付功能
数值类型数据赋值图
数组赋值图
04.所有的类名首字母都要大写
第十二章 类的无参方法
1.定义方法的语法:5要素
访问修饰符 返回值 方法名(参数){
方法体
}
2.如果在同一类中,那么方法A调用方法B,直接通过方法名就可以调用。
如果在类A中,想要调用类B中的方法say(),那么需要先创建出类B的对象,然后调用。
2.局部变量和成员变量
作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
初始值不同
Java会给成员变量一个初始值
Java不会给局部变量赋予初始值
3.JavaDOC
讲解要点:JavaDoc能够从源代码中抽取类、属性、方法等的注释,形成一个配套的API帮助文档。使用Eclipse生成JavaDoc文档注释有两种方法:
1.使用命令行方式生成
javadoc -d doc -subpackages mine
参数 说明
-d 指定API文档的输出目录,默认是当前目录。建议总是指定该参数。
-sourcepath 指定源代码路径,默认是当前目录。 此参数通常是必须的。
-subpackages 以递归的方式处理各子包。关键参数!如果不使用本参数,每次只能处理一个子包(或需手工列出所有子包)。
再加上-author才输出对应的作者信息
注:以上示例要求 javadoc.exe 所在路径位于系统环境变量“PATH”中。
支付宝:接口
支付宝做方法定义 的
二流的公司,做方法调用
作业环节
01.第十四章和第15章预习
02.课后作业题
03.日记
04.Blog文章,下次听写带返回值的方法
第十三章 人机猜拳系统
第十三章 人机猜拳系统
1.项目概述
由于这是大家第一次接触项目,希望每个人都能做到问心无愧。认真,仔细的对待这次项目。还有,希望大家能将每一次课后作业和上机练习都看做是在做一个项目 。
2.项目参与者图解分析
3.人机猜拳运行效果图
4.思路分析:
1.写一个电脑类(Computer)
要点:属性
01.电脑昵称 name
02.电脑得分 score
方法
01.机器出拳 showFist()
关键点:
01.生成1到3的随机数
方法一:int result=(int)(Math.random()*10)%3+1;
方法二:引入Random类
import java.util.Random;
Random random=new Random();
int ran=random.nextInt(3)+1;
02.用switch判断生成的随机数
如果为1:剪刀
如果为2:石头
如果为3:布
default:未知错误
这里不用考虑输入其他数字的情况,
因为数字不是用户输入的,而是
通过随机数生成的,只能是1,2,3
03.最后需要将选择的值返回
2.写一个玩家类(Person)
要点:同上
但是要注意一点:此时switch中是用户输入的值,要做
对应的处理,如果用户输入错误,
让用户循环输入
3.写一个裁判类
要点:01. Person person;//用户
Computer computer;//电脑
int count;//对战次数
//对值进行初始化
public void initial(){
person=new Person();
computer=new Computer();
count=0;
}
02.绘制游戏菜单
001.先调用初始化方法initial
002.然后绘制菜单
System.out.println("---------欢迎进入微冷的雨猜拳系统---------");
System.out.println("\n\t\t******************");
System.out.println("\n\t\t***游戏开始了 ********");
System.out.println("\n\t\t******************");
System.out.println("出拳规则:1.剪刀2.石头3.布");
//选择对方角色
System.out.print("\n请选择对方角色(1.刘德华2.周星星3.巩俐):");
Scanner input=new Scanner(System.in);
int role=input.nextInt();
003.保存用户选择的角色,赋值给computer类的name属性
004.分别调用机器和玩家的出拳方法,然后对出拳结果比较,
005.显示比赛结果(之前先要计算比赛结果)
4.调用裁判类输出结果
第十四章 带参方法
第十四章 带参方法
00.带参方法的语法
public int say(String name){
}
01.调用带参方法时,有哪些注意事项?
解析:实参类型,数量,顺序必须与形参(方法定义中的参数)一致。
Public class Student{
Public void say(String name ,int age){
}
}
Public class MyMain(){
Pulbic static void main(String[] args){
Student stu=new Student();
Stu.say(“李小龙”,20);
}
}
02.包的作用是什么?
解析:为了避免命名冲突,为了更好组织类,方便查找。
包的用途:1.方便管理
2.快速检索
3.避免冲突
03.带参方法案例
//单行注释Ctrl+/ 多行注释:Ctrl+Shift+/ 取消多行注释:Ctrl+Shift+\
添加学生 :带一个参数的方法
显示学生信息 无参
按区间查询学生信息 3个参数()
修改学生信息 2个参数(String oldName,String newName)
数组作为参数
对象(自定义类型作为参数)
Null是不能调用它的任何属性和方法的
包
如果包a中有一个类Student,想要在包b中使用Student类,必须加上导包语句
Import a.Student;
第十五章 字符串
第十五章 字符串
01.如何定义一个字符串?
解析:String name="张靓颖";
String name2=new String("巩俐");
02.字符串常用方法
01.length():返回一个字符串中的字符总个数
案例:
String word="我爱北京天安门, 我爱中国毛爷爷";
//统计word中的字符总个数
System.out.println("长度是"+word.length());
02.equals():判定两个字符串存储的内容是否一致,如果相同,返回true。
String name="001";
String name2="001";
if (name.equals(name2)) {
System.out.println("equals");
}else {
System.out.println("不相等");
}
//输出equals
03.equalsIgnoreCase():忽略大小写。
Scanner input = new Scanner(System.in);
while(true){
System.out.print("请输入用户名:");
String name = input.next();
System.out.print("密码:");
String mima = input.next();
if(name.equalsIgnoreCase("Tom")&&mima.equals("1234")){
System.out.println("登陆成功");
}else{
System.out.println("登录失败");
}
}
04.toLowerCase():将一个字符串全部转换成小写。
05.toUpperCase():将一个字符串全部转化成大写。
06.name.conCat(String str):
作用:将str拼接到name变量上,形成一个大字符串返回。
String wordLeft="今天看到很多人都倒下了";
String wordRight="死很容易,活着很难";
String result=wordLeft+wordRight;
//方式二:
String result2=wordLeft.concat(wordRight);
System.out.println(result2);
07.substring(int beginIndex)
参数:从第几个位置开始截取,从0开始数,一直街取到字符串结束
返回值:截取后的内容
案例:
String name=”中国是一个伟大的国家”;
String result=name.substring(8);
Substring(int beginIndex,int endIndex)
参数一:从字符串的第几个位置开始截取,从0开始数
参数二:截取到第几个位置结束 ,从1开始数
案例 :
String name="中国是一个伟大的国家,我爱你";
//我想得到:”我爱你“ "国家"
String result=name.substring(8,10);
System.out.println(result);
08.indexof(“字符串”)获取一个特定字符串在大字符串中的位置。
参数:传入一个字符串
返回值:传入的字符串在大字符串中的位置。
案例 :
String name=“yymqqc@126.com”;
Int index= Name.indexof(”@”);
09.lastIndexof(“要查找的字符串”):返回最后一次出现某个字符串的位置
10.trim():只能移除两端的空格,中间的空格无法移除
11.Split(“分割符”)
返回的结果是一个字符串数组
如何定义一个StringBuffer类的对象?
StringBuffer sb=new StringBuffer;
System.out.println("欢 迎 使 用 迷 你 DVD 管 理 器");
System.out.println("-------------------------------------");
System.out.println("0. 借出排行榜");
System.out.println("1. 新 增 DVD");
System.out.println("2. 查 看 DVD");
System.out.println("3. 删 除 DVD");
System.out.println("4. 借 出 DVD");
System.out.println("5. 归 还 DVD");
System.out.println("6. 退 出 ");
System.out.print("--------------------------------------\n");
System.out.print("请选择: ");
Scanner input = new Scanner(System.in);