韩顺平java从入门到精通视频笔记(全94讲)齐全完美打印版
更新时间:2023-04-06 17:48:01 阅读量: 教育文库 文档下载
韩顺平Java从入门到精通视频(全94讲详细笔记)
java平台
1、J2SE java开发平台标准版
2、J2EE java开发平台企业版
java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。不同系统上要安装对应的虚拟机才可以运行java程序
开发步骤
1、编写源文件 (.java)
2、编译源文件为类文件(.class)可用J2SE或J2EE编译
3、在虚拟机上运行
注释
//单行注释
/* */多行注释
java内容介绍
java编程可以分成三个方向:
1、java se (j2se)桌面开发 java中的基础中的基础
2、java ee (j2ee)web开发
3、java me (j2me)手机开发
java se课程介绍
java面向对象编程(基础)
java图开界面开发
java数据库编程
java文件io流编程
java网络编程
java多线程编程
java ee基础1
java面向对象编程--数据库编程-->java se
java 基础2
html--css--javascript-->p+css
java ee中级部分
Servlet--Jsp-->mvc模式
java ee高级部分
Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架
java之父gosling
1990 sun启动绿色计划
1 | 445注:笔记中所有示例都能正常通过编译
韩顺平Java从入门到精通视频(全94讲详细笔记)
1992 创建oak语言-->java
1994 gosling参加硅谷大会演示java功能,震惊世界
1995 sun正式发布java第一个版本,目前最新是jdk7.0
java开发工具
记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse
如何选择开发工具
先选择记事本,对java有一定了解后再使用eclipse高级开发工具
为什么呢?
1、更深刻的理解java技术,培养代码感
2、有利于公司面试
java语言的特点
1、java语言是简单的
2、java语言是面向对象的
3、java语言是跨平台(操作系统)的[即一次编译,到处运行]
4、java是高性能的
java第一个程序hello.java
运行java程序要安装和配置jdk
jdk是什么?
1、jdk全称java dvevlopment kit中文java开发工具包
2、jdk是sun公司开发的
3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右)
4、可以在453b978c59eef8c75fbfb3ec下载
**开发安装jdk,用户执行需要安装jre
配置JDK
添加环境变量即可
windows下配置jdk
在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。多个环境变量设置时需要用;号进行隔开
1、编写第一个hello.java
//注释 (解释) 作者:
//功能:在控制台显示"hello"
//日期:2013.11.28
//public:表示这个类是公共的,一个java文件中只能有一个public类
//class:表示这是一个类
//hello:类名(公共类的类名必须和文件名一致)
public class hello{
2 | 445注:笔记中所有示例都能正常通过编译
韩顺平Java从入门到精通视频(全94讲详细笔记)
//一个主函数,相当于是程序的入口
public static void main(String args[]){
//执行语句
//System:是一个包
//out.println是输入函数
System.out.println("hello!");
}
}
2、编译hello.java 使用javac hello.java
3、执行hello.java 使用java hello
java程序运行关系
1、java源文件(.java文件)
2、java编译器即javac.exe
3、java字节码文件(.class文件)
4、由解释执行器即(java.exe)将字节码文件加载到java虚拟器(jvm)
5、字节码文件(.class)就会在java虚拟机中执行
对hello.java程序进行改过使之变为一个简单的加法运算程序
//注释 (解释) 作者:
//功能:在控制台显示"hello"
//日期:2013.11.28
//public:表示这个类是公共的,一个java文件中只能有一个public类
//class:表示这是一个类
//jiafa:类名(公共类的类名必须和文件名一致)
public class jiafa{
//一个主函数,相当于是程序的入口
public static void main(String args[]){
//执行语句
//System:是一个包
//out.println是输入函数
// System.out.println("hello!");
int a=10;//定义一个变量,变量名a,它的值10
int b=20;//定义一个变量,变量名b,它的值20
int result=a+b;//定义一个叫result变量将变量ab相加的值赋值给result
//输出结果
System.out.println("结果是"+result);
}
}
----------------------------------------------------------------
为什么有变量
不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。java中的基本数据类型的定义与c/c++中大体一致。
3 | 445注:笔记中所有示例都能正常通过编译
韩顺平Java从入门到精通视频(全94讲详细笔记)
public class Test{
public static void main(String []args){
int a=1;//定义一个整形变量,取名a,并赋初值1
int b=3;//定义一个整形变量,取名b,并赋初值3
b=89;//给变量b赋89
System.out.println(a);//输出语句,把变量a的值输出
System.out.println(b);//把变量b的值输出
}
}
----------------------------------------------------------------
java基本语法---基本数据类型
java基本数据类型四大类型
整数类型、小数(浮点)类型、布尔类型、字符类型
整数类型
可以表示一个整数,常用的整数类型有:byte,short,int,long
主要区别是数据大小范围,请大家看一个小案例。
byte 占用内存一个字节范围:-128至127
short 占用内存两个字节范围:-32768至32767
int 占用内存四个字节范围:-2147483648至2147483647
long 占用内存八个字节范围:-?至?
小数(浮点)类型
可以表示一个小数,常用的小数(浮点)类型有:
float(单精度),double(双精度)
float 占用内存四个字节范围:3.4E-38至3.4E+38 只能提供7位有效数字
double占用内存八个字节范围:1.7E-308至1.7E+308 可提供16位有效数字
布尔类型
可以表示"真"或者"假",类型是boolean
比如:
boolean spBool=true; //给变量spBool定义为boolean型并赋值为真
字符类型
可以表示单个字符,字符类型是char。char是两个字节(可以存放汉字)
多个字符我们称为字符串,在java中String这种数据类型表示,但是String不是基本数据类型,而是类,类是复合数据类型。
结论:在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。
思考:int test1='a'+'b'; 输出值195
char test2='a'+'b'; 输出值?
char test3='中'; 输出值195
4 | 445注:笔记中所有示例都能正常通过编译
韩顺平Java从入门到精通视频(全94讲详细笔记)
java基本语法--定义变量,初始化,赋值
定义变量
1、什么是定义变量?
int a; 这就是定义了一个变量,变量名是a
float haha;这也定义了一个变量,表示一个float类型的小数,变量名是haha
初始化变量
在定义变量的时候,就给值
int a=45;这就是初始化变量a
给变量赋值
比如你先定义了变量:int tt;
然后再给值tt=780; ->这就是给变量赋值
----------------------------------------------------------------
java基本语法--基本数据类型转换
自动转换
int a=1.2; double b=3;
结论:数据类型可以自动的从低精度-->高精度。高精度不能转为低精度。
byte小于 在java中的小数默认是double数据类型 float赋值时要在值后加f long赋值时要在值后加l 强制转换 如何把高精度转成低精度? int a=(int)1.2; 练习int a=1; int a=1; double b=4.5; double b=4.5; a=b; b=a; 报错成功 计算过程中的转换 int a=3; int b=a+3.4; 结论:当一个整数和一个double运算的时候,运算结果会向高精度转换 5 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) java 基本语法--运算符 java中常用的算术运算符是:+加、-减、*乘、/除、%取模 其实%运算可以得到两个数的余数。 算术运算符:++自加、--自减。 这两个运算符比较特殊,请大家思考一下: int a=90; a++; 等同于(a=a+1) 这时a等于? 91 int b=89; b--; 等同于(b=b-1) 这时b等于? 88 int a=56; int b=a++; System.out.println(b); 56 System.out.println(a); 57 ***int b=++a;相当于a=a+1再将b=a; int b=a++;相当于b=a再将a=a+1。 ---------------------------------------------------------------- 算术运算符:+=左加、-=左减、/=左除、%=左取模 请大家看看几个案例,就明白了: int a=90; a+=90; (相当于a=a+90) 请问,a现在等于多少? 180 float b=89.7f; b+=a; (相当于b=b+a) 请问,b现在等于多少? 269.7 int a=56;int b=90; a-=34;b%=a; (相当于a=a-34,b=b%a) System.out.println(b); 2 System.out.println(a); 22 ---------------------------------------------------------------- 运算符 关系运算符 1、==等于; 2、>大于; 3、<小于; 4、>=大于等于; 5、<=小于等于; 6、!=不等于 6 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) int a=90;int b=90; if(a==b){System.out.println("ok1");} b--; if(a>b){System.out.println("ok2");} if(a>=b){System.out.println("ok3");} 请编写一个程序,该程序可以接收两个数(可以是整数,也可是小数)并判断两个数是大于?小于?还是等于? 程序代码: import java.io.*;//载入IO流包 public class Demo5{ public static void main(String []args){ try{ //输入流,从键盘接收数 InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //给出提示 System.out.println("请输入第一个数"); //从控制台读取一行数据 String a1=br.readLine(); System.out.println("请输入第二个数"); String a2=br.readLine(); //把String转为float float num1=Float.parseFloat(a1); float num2=Float.parseFloat(a2); if(num1>num2){System.out.println("第一个大");} if(num1==num2){System.out.println("相等");} if(num1 }catch(Exception e){ e.printStackTrace(); } } } ---------------------------------------------------------------- 运算符--逻辑运算符 用于判断逻辑关系的运算符 1、&&与; 2、||或; 3、!非 &&与的运算关系,真真为真,其它都为假。 ||或的运算关系,假假为假,其它都为真。 !非的运算关系,真取假,假取真 请大家看个案例,请问输出什么: int a=90;int b=90; if(a==b || a>8){System.out.println("ok1");} 7 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) b--; if(a>b && a>45){System.out.println("ok2");} if(!(a<=b)){System.out.println("ok3");} java基本语法----三大流程控制 顺序控制 听其名而知其意,让程序可以顺序的执行。 请大家看个案例[demo11.java]: int a=7; System.out.println("a="+a); System.out.println("hello!"); a++; System.out.println("a="+a); System.out.println("0(∩_∩)0"); a++; System.out.println("a="+a); 分支控制 让程序有选择的执行,分支控制有三种: 1、单分支; 2、双分支; 3、多分支a 1、单分支语法: if(条件表达式){ 语句; } 2、双分支语法: if(条件表达式){ 语句; }else{ 语句; } 3.1、多分支语法: if(条件表达式){ 语句; }else if(条件表达式){ 语句; }else if(条件表达式){ 语句; }else{ 语句; } 3.2、多分支语法: 8 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) switch(条件表达式){ //***条件表达式数据类型,就和case常量表达式一致,否则就会报错。 case 常量1: 语句1; //语句1至break中相当于{}可以加入相应程序代码 break; //break,表示跳出switch语句 case 常量2: 语句1; break; ... case 常量n: 语句n; break; default: 语句; break; } *****:switch中的可用数据类型主要是:允许byte,short,int,char,enum等 1、单分支控制作业:请大家看个案例[demo22.java]: 编写一个程序,可以输入人的年龄,如果该同学的年龄大于18岁,则输出“你年龄大于18,要为自己的行为负责!” 2、双分支控制作业:请大家看个案例[demo33.java]: 编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18岁,要对自己的行为负责!”否则,输出“你的年龄不大这次放过你了” 3、多分支控制作业:请大家看个案例[demo44.java] 编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18,要对自己的行业负责,送入监狱”。如果该同志的年龄大于10岁并且小于等于18,则输出“你的年龄也不小了,把你送少管所”。其它情况,则输出“小孩子,下次注意”。 4、多分支控制作业:请大家看个案例[demo55.java] 请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g a表示星期一,b表示星期二...根据用户的输入显示相应的信息,要求使用switch语句完成。 5、多分支控制作业:请大家看个案例[demo66.java] 对比switch与if语句在执行分支语句的区别。 ***switch分支语句不支持判断类型即boolean类型,switch只支持byte,short,int,char,enum等数据类型 ------------------------------------------------------------------------------- 9 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) 循环控制 听其名而知其意,就是让你的代码可以循环的执行。 循环控制有三种 1、for循环语法: for(循环初值;循环条件;步长){ 语句; //循环体 } 2、while循环语法: while(循环条件){ 语句; //循环体 } 特别说明:while循环是先判断在执行语句。 3、do while循环语法: do{ 语句; //循环体 }while(循环条件); 特别说明:do while循环是先执行,再判断。 请大家看个案例[demo77-88-99.java]: 编写一个程序,可以打印10句“你好,我是刘德华同志!”。请大家想想怎么做? 1、for循环 for (int a=0;a<10;a++){System.out.println("你好,我是刘德华同志!");} 2、while循环 int i=0;while(i<10){System.out.println("你好,我是刘德华同志!");i++;} 3、do while循环 int i=0;do{System.out.println("你好,我是刘德华同志!");i++;}while(i<10) 请编写一个程序,可以接收一个整数,表示层数,打印出金字塔一半。[demo100.java] ***把一个复杂的问是先拆解成简单问题 //三角形[Demo100.java] public class Demo100{ public static void main(String []args){ //死去活来法-->打四次 int lay=4; //表示有多少层 for(int i=1;i<=lay;i++){ //打印* for(int j=1;j<=i;j++){ System.out.print("*"); } System.out.println();//换行 10 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) } } } ------------------------------------------------------------------------------- //金字塔[Demo101.java] public class Demo101{ public static void main(String []args){ int lay=10;//表示有多少层 for(int i=1;i<=lay;i++){ //找出规律 //1->3 2->2 3->1 4->0找出空格 for(int k=1;k<=lay-i;k++){ System.out.print(""); } //打印* //1->1 2->3 3->5 4->7找出星的规律 for(int j=1;j<=(i-1)*2+1;j++){ System.out.print("*"); } System.out.println();//换行 } } } ------------------------------------------------------------------------------- //镂空金字塔[Demo102.java] public class Demo102{ public static void main(String []args){ int lay=10;//表示有多少层 for(int i=1;i<=lay;i++){ //找出规律 //1->3 2->2 3->1 4->0找出空格 for(int k=1;k<=lay-i;k++){ System.out.print(""); } //打印* //1->1 2->3 3->5 4->7找出星的规律 for(int j=1;j<=(i-1)*2+1;j++){ //判断该层是否是顶层或者是底层 if(i==1||i==lay){ System.out.print("*"); }else{ //如果是第一个* if(j==1||j==(i-1)*2+1){ 11 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) System.out.print("*"); }else{ System.out.print(""); } } } System.out.println();//换行 } } } ------------------------------------------------------------------------------- //空心菱形[Demo103.java] public class Demo103{ public static void main(String []args){ int lay=4;//菱形上半部行数 for(int i=1;i<=lay-1;i++){ //判断循环上半部分 for(int k=1;k<=lay-i;k++){ //找行内*号前输出空格 System.out.print(""); } for(int j=1;j<=(i-1)*2+1;j++){ //找行内输出星的位置 if(j==1||j==(i-1)*2+1){ //判断行最小长度和最大长度,并在最小长度和最大长度上输出*号,行内输入出空格。 System.out.print("*"); }else{ System.out.print(""); } } System.out.println(); //换行 } for(int i=1;i<=lay;i++){ //判断循环菱形下半部分 for(int k=1;k<=i-1;k++){ //判断循环找*号前要输出空格处 System.out.print(""); } for(int j=1;j<=(lay-i)*2+1;j++){ //判断循环行长度 if(j==1||j==(lay-i)*2+1){ //判断行最小长度和最大长度,并在最小长度和最大长度上输出*号,行内输入出空格。 System.out.print("*"); }else{ System.out.print(""); } } System.out.println();//输出换行 } 12 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) } } ------------------------------------------------------------------------------- //实心菱形[Demo104.java] public class Demo104{ public static void main(String []args){ int lay=4;//菱形上半部行数 for(int i=1;i<=lay-1;i++){ //判断循环上半部分 for(int k=1;k<=lay-i;k++){ //找行内*号前输出空格 System.out.print(""); } for(int j=1;j<=(i-1)*2+1;j++){ //找行内输出星的位置 System.out.print("*"); } System.out.println(); //换行 } for(int i=1;i<=lay;i++){ //判断循环菱形下半部分 for(int k=1;k<=i-1;k++){ //判断循环找*号前要输出空格处 System.out.print(""); } for(int j=1;j<=(lay-i)*2+1;j++){ //判断循环行长度 System.out.print("*"); } System.out.println();//输出换行 } } } ------------------------------------------------------------------------------- 1、java面向对象编程(1)-类与对象 一个问题?[Demo107.java] 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色。还有一只叫小花,今年100岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示张老太没有这只猫猫。 //用前面学习过的知识写出代码 public class Demo107{ public static void main(String []args){ int a=49;//输入的名字49,50 int cat1age=3; //第一只猫 String cat1name="小白"; String cat1color="白色"; int cat2age=100; //第二只猫 13 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) String cat2name="小花"; String cat2color="花色"; switch(a){ case '1': System.out.println(cat1age+cat1color); break; case '2': System.out.println(cat2age+cat2color); break; default: System.out.println("张老太没有这只猫!"); } } } java语言是面向对象的 计算机语言的发展向接近人的思维方式演变 汇编语言 [面向机器] c语言 [面向过程] java语言 [面向对象] 类和对象的关系 把猫的特性提取出来-->猫类-->对象(实例) -->对象(实例) -->... 注意:从猫类到对象,目前有几种说法:1、创建一个对象;2、实例化一个对象;3、对类实例化...以后大家听到这些说法,不要模糊。(对象就是实例,实例就是对象)java最大的特点就是面向对象。 //定义猫类 public class Demo105{ public static void main(String []args){ //创建一个猫对象 Cat cat1=new Cat();//Cat是定义的一个数据类型 //Cat cat1; //cat1=new Cat();// 等同于 Cat cat1=new Cat(); //访问属性的对象名.属性名字 cat1.age=3; 453b978c59eef8c75fbfb3ec="小白"; cat1.color="白色"; //创建第二只猫 Cat cat2=new Cat(); cat2.age=100; 14 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) 453b978c59eef8c75fbfb3ec="小花"; cat2.color="花色"; } } //java中如何定义一个类?[类名的首写字母大写]可根据程序的需要定义类 class Cat{ //下面的就是类的成员变量/属性 int agr; String name; String color; Master myMaster; } //引用类型,比如建个主人类 class Master{ int age; String name; String address; } 类和对象的区别和联系 1、类是抽象的,概念的,代表一类事物,比如人类,猫类.. 2、对象是具体的,实际的,代表一个具体事物 3、类对象的模板,对象是类的一个个体,实例 类--如何定义类 一个全面的类定义比较复杂,如: package 包名; class 类名 extends 父类 implements 接口名{ 成员变量; 构造方法; 成员方法; } 要透彻的掌握类,必须要了解类的构成 class 类名{ ----> 待定... 成员变量; } 类--类的成员变量 成员变量是类的一个组成部分,一般是基本数据类型,也可是引用类型。比如我们前面定义 15 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) 猫类的int age 就是成员变量。 对象--如何创建对象 创建一个对象有两种方法 1、先声明再创建 1、对象声明:类名对象名 2、对象创建:对象名=new 类名() 2、一步到位法 类名对象名=new 类名() 对象--如何访问(使用)对象的成员变量 对象名.变量名; //简单先这样理解,以后加下控制符此表达就不准确了。 ***对象总是存在内存中的 一个小思考题[Demo.105.java] 为了让大家加深印象,我们定义一个人类(Person)(包括名字、年龄)。用一步到位法去创建一个对象 ↓ 我们看看下面一段代码: System.out.printlin(b.age); Person a=new Person(); →请问:b.age究竟是多少? a.age=10; 453b978c59eef8c75fbfb3ec="小明"; Person b; b=a; ***对象总是存在内存中的 一个小思考题[Demo106.java] 在明白对象是如何在内存中存在后,请大家再看看下面的思考题,请问会输出什么信息?Person1 a=new Person1(); a.age=10; 453b978c59eef8c75fbfb3ec="小明"; Person1 b; b=a; System.out.println(453b978c59eef8c75fbfb3ec);//输出“小明” b.age=200; System.out.println(a.age);//输出a.age为200 *****重点也是难点 类--成员方法的初步介绍 在某些情况下,我们要需要定义成员方法。比如人类:除了有一些属性外(成员变量表示的年龄、姓名...),我们人类还有一些行为比如:可以说话、跑步..,通过学习,我们人类还可以做算术题。这时就要用成员方法才能完成。现在要求对Person类完善: 16 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) 1、添加speak成员方法,输入出:我是一个好人 2、添加jisuan成员方法,可以计算从1+..+1000的结果 3、修改jisuan成员方法,该方法可以接收一个数n,计算从1+..+n的结果 4、添加add成员方法,可以计算两个数的和 类--类的成员方法(成员函数)定义 成员方法也叫成员函数,这里希望大家不要被两个名词搞晕了。 public 返回数据类型方法名(参数列表) { 语句;//方法(函数)主体 } 1、参数列表:表示成员函数输入 2、数据类型(返回类型):表示成员函数输出 3、函数主体:表示为了实现某一功能代码块 //类的调用及方法调用[Demo108.java] public class Demo108{ public static void main(String []args){ Person p1=new Person(); p1.speak();//调用speak方法 p1.jiSuan();//调用计算方法 p1.jiSuan(200);//调用可以传入参数的计算方法 p1.add(12,10);//调用两个数的和 int res=p1.add2(23,34);//调用两个数的和并返回值到res中 System.out.println("res返回值是:"+res); System.out.println("num1+num2+num3="+p1.add3(2,2.3f,4.5f));//返回类型一定要一致否则报错。 } } //定义名字的几个方法: //1、驼峰法如myCry;2、下划线法my_cry //方法名在有不同参数的情况下可以使用同一个方法名,即有参数和没参数的方法可以同名 class Person{ //请注意类名首写字母应为大写如Person为类名 int age; String name; //1、可以输出我是好人方法 public void speak(){ //请注意方法名的首写字母应为小写如speak为方法名System.out.println("我是一个好人"); } 17 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) //2、可以计算1+..+1000的方法 public void jiSuan(){ int result=0; for(int i=1;i<=1000;i++){ result=result+i; } System.out.println("1+..+1000结果是"+result); } //3、带参数的成员方法,可以输入n值并计算1+..+n public void jiSuan(int n){ int result=0; for(int i=1;i<=n;i++){ result+=i; } System.out.println("1+..+n结果是"+result); } //4、计算两个数的和 public void add(int num1,int num2){ int result=0; //与下面一句等同于return num1+num2; result=num1+num2; System.out.println("num1+num2="+result); } //5、计算两个数的和,并将结果返回给主调(调用它的)函数 //注意:返回类型和返回结果的类型要一致 //注意:在调用某个成员方法的时候,给出的具体数值的个数 //和类型要相匹配。 public int add2(int num1,int num2){ return num1+num2; } //6、计算两个float数的和,并将结果返给主调函数 public float add3(int num1,float num2,float num3){ return num1+num2+num3; } } 类--类的成员方法(函数)--如何理解 如何理解方法这个概念,给大家举个通俗的示例: 程序员调用方法:给方法必要的输入,方法返回结果。 类的成员方法--声明 public int test(int a);/*方法声明*/ 这句话的作用是声明该方法,声明的格式为: 访问修饰符数据类型函数名(参数列表); 18 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) 在给Person类添加add方法的例题中,我们看到的关键字return,它的功能是把表达式的值返回的值返回给主调函数的方法。 return 表达式; 类的成员方法(函数)--特别说明 1、方法的参数列表可以是多个 案例:在Person类中编写一个成员方法,从键盘输入三个数,返回最大的那个数。 参数列表可以是多个,并且数据类型可以是任意的类型int float double char.. 访问修饰符返回数据类型函数名(参数列表){ 语句; //函数主体 } 2、方法可以没有返回值 案例:编写一个函数,从控制台输入一个整数打印出对应的金字塔。 返回类型可以是任意的数据类型(int,float,double,char..)也可以没有返回值void表示没有返回值 访问修饰符返回数据类型函数名(形参列表){ 语句; //函数主体 } 类的成员方法(函数)--小练习 案例:编写一个成员函数,从键盘输入一个整数(1-9),打印出对应的乘法表[Demo110.java] //实例键盘输入打印乘法表[Demo110.java] import java.io.*; public class Demo110{ public static void main(String []args){ Cfb jiu=new Cfb(); jiu.cf(); } } class Cfb{ public void cf(){ try{ //输入流,从键盘接收数 InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //给出提示 System.out.println("请输入1-9,按0退出:"); //从控制台读取一行数据 String a1=br.readLine(); //把String转为int int num1=Integer.decode(a1); for(int i=1;i<=num1;i++){ 19 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) for(int j=1;j<=i;j++){ System.out.print(i+"×"+j+"="+(i*j)+"\t"); } System.out.println(); } }catch(Exception e){ e.printStackTrace(); } } } 案例:编写函数,使给定的一个二维数组(3×3)转置 类定义的完善 在介绍了成员方法后,我们类的定义就可以完善一步: class 类名{ class 类名{ 待定 成员变量; →成员变量; → } 成员方法; } 小结:1.先设计类;2.然后根据类创建对象。 小练习: 1、设计计算机类,要求如下:[Demo109.java] 属性:品牌(Brand)、颜色(Color)、cpu型号(CPU)、内存容量(Memory)、硬盘大小(Harddisk)、价格(Price)、工作状态(Work) 方法:打开(Open)、关闭(Close)、休眠(Sleep) 创建一个计算机对象,调用打开,关闭方法 //计算机类与对象的代码 import java.io.*;//加载IO流包 public class Demo109{ public static void main(String []args){ Computer Pc=new Computer(); Pc.Brand="品牌"; Pc.Color="颜色"; Pc.Cpu="Cpu型号"; Pc.Memory="内存容量"; Pc.Hd="硬盘容量"; Pc.Price="价格"; Pc.Work="工作状态"; try{ //输入流,从键盘接收数 InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //给出提示 20 | 445注:笔记中所有示例都能正常通过编译 韩顺平Java从入门到精通视频(全94讲详细笔记) System.out.println("请输入0-9控制机器"); //从控制台读取一行数据 String a1=br.readLine(); //把String转为float float num1=Float.parseFloat(a1); if(num1==0){Pc.open();} else if(num1==1){Pc.close();} else if(num1==2){Pc.sleep();} else if(num1==3){System.out.println(Pc.Brand);} else if(num1==4){System.out.println(Pc.Color);} else if(num1==5){System.out.println(Pc.Cpu);} else if(num1==6){System.out.println(Pc.Memory);} else if(num1==7){System.out.println(Pc.Hd);} else if(num1==8){System.out.println(Pc.Price);} else if(num1==9){System.out.println(Pc.Work);} else {System.out.println("输入错误!");} }catch(Exception e){ e.printStackTrace(); } } } class Computer{ String Brand; String Color; String Cpu; String Memory; String Hd; String Price; String Work; public void open(){ System.out.println("开机"); } public void close(){ System.out.println("关机"); } public void sleep(){ System.out.println("休眠"); } } 2、采用面向对象思想设计超级马里奥游戏人物 21 | 445注:笔记中所有示例都能正常通过编译
正在阅读:
韩顺平java从入门到精通视频笔记(全94讲)齐全完美打印版04-06
钢结构工程施工组织设计毕业论文04-27
按方位顺序写景的作文400字06-17
首次适应算法最佳适应算法11-07
2016年杭州师范大学美术学院设计艺术概论复试笔试最后押题五套卷04-25
从程序员到技术总监 beta07-09
我不想你哭02-14
学生寒假社会实践报告例文02-25
建筑垃圾量计算标准11-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 顺平
- 精通
- 入门
- 齐全
- 完美
- 笔记
- 打印
- 视频
- java
- (完整版)高中数学圆锥曲线和导数知识点总结,推荐文档
- 2015-2016学年七年级政治上册第一次阶段检测试题
- 教师礼仪规范学习心得体会
- 铁器牛耕引发的社会变革同步测试北师大版
- 2022年辽宁石油化工大学矿业工程学院981工程力学之材料力学考研
- 医师定期考核办法实施细则【最新版】
- 庄子读书心得体会500字范文
- 碎石桩施工方案模板
- 2022年西藏大学经济与管理学院838业务综合(二)之政治学基础考研
- 九年级语文单元检测题参考答案
- 蔬菜大棚钢结构工程施工方案
- (论文)小型超市管理系统毕业论文.0
- (4年真题推荐)2010-2013年全国高考数学 试题分类汇编 数列
- 手把手教你画组合体
- 远程教育培训网信息安全技术题库及答案(含真题)(全部)
- 初中历史课程标准(思维导图版)
- 让学习成为一种工作方式上
- 2022年河南农业大学生命科学学院338生物化学考研冲刺
- 便携式交直流标准表规格书
- 2022年南京师范大学社会发展学院331社会工作原理之社