Java语言基础(10)
1 方法(三)
案例:Demo1
import java.util.Scanner; public class Demo1 {
static int min(int num1,int num2){
if(num1<=num2){
return num1;
}else{//num1>num2
return num2;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第2个整数:");
int num2 = sc.nextInt();
int result = min(num1,num2);
System.out.println("result="+result);
}
}
编写一个带两个int类型参数一个int类型返回值的方法min(),int min(int num1,int num2),在min方法中求出其中较小的整数并返回到调用的位置。在main方法中,创建Scanner对象,分别输入两个整数作为实参,调用min()方法,并输出返回的结果。
综合案例:Demo2
从控制台输入任意的三个整数(正数),分别作为三角形的三条边,根据边长,确定是等边三角形,等腰三角形,直角三角形,普通三角形
编写一个带三个参数没有返回值的方法f1(int a,int b,int c),
把a,b,c作为三角形三条边,输出对应等边三角形,等腰三角形,直角三角形,普通三角形
在main方法中,从控制台输入三个整数(正数)作为实参调用f1()方法
if(a+b>c && b+c>a && a+c>b){
if(a==b||b==c||a==c){
if(a==b&&b==c&&a==c){
等边三角形
}else{
等腰三角形
}
}else if(a*a+b*b==c*c||...){
直角三角形
}else{
普通三角形
}
}else{
不能构成三角形
}
import java.util.Scanner; public class Demo2 {
static void f1(int a,int b,int c){
if(a+b>c && b+c>a && a+c>b){
if(a==b || b==c || a==c){
if(a==b && b==c && a==c){
System.out.println("等边三角形");
}else{
System.out.println("等腰三角形");
}
}else if(a*a+b*b==c*c || a*a+c*c==b*b
|| b*b+c*c==a*a){
System.out.println("直角三角形");
}else{
System.out.println("普通三角形");
}
}else{
System.out.println("不能构成三角形");
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1条边长:");
int a = sc.nextInt();
System.out.println("请输入第2条边长:");
int b = sc.nextInt();
System.out.println("请输入第3条边长:");
int c = sc.nextInt();
f1(a,b,c);
}
}
2 类和对象
1)类:指代一类事物,是一个抽象的概念,比如人类,车类,植物类
2)对象:指代一个真实存在的具体的事物,比如刘诗诗,门口那辆奔驰,桌子上的仙人掌
3)类和对象之间的关系:类是对象的模板,根据类来创建一个个的对象,对象是类的一个具体实现,具备类中所有特征和行为(功能)。
3 类的组成
特征和行为(功能)
eg:
人类:
特征:姓名,年龄,性别,身高,体重...
行为:睡觉,吃饭,踢足球...
微信:
特征:微信名,二维码,密码,红包,好友,朋友圈...
行为:聊天,添加好友,发红包,抢红包,发朋友圈...
4 Java中的类
1)类的组成:属性和方法
属性:特征,变量
方法:去掉static
2)格式:
class 类名{
属性:变量
数据类型 属性名;
方法:
返回值类型 方法名(参数列表){
方法体
}
}
class Person{
//属性:姓名,性别,年龄
String name;
String sex;
int age;
//方法: show():输出每一个属性
void show(){
System.out.println(name+","+sex+","+age);
}
}
3) 类就是把属性和对属性操作的方法封装在一起。方法可以访问自己的属性。
案例:Demo3
public class Demo3 {
public static void main(String[] args) {
//类名 对象名 = new 类名() 暂时
Person p1 = new Person();
//对象名.属性名
p1.name = "刘备";
p1.age = 29;
p1.job = "皇叔";
//对象名.方法名(参数)
p1.show(); Person p2 = new Person();
p2.name = "曹操";
p2.age = 32;
p2.job = "丞相";
p2.show();
}
}
class Person{
//属性:姓名,年龄,职位(job)
String name;
int age;
String job;
//方法
void show(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("职位:"+job);
}
}
//1 类和对象
//1)类:指代一类事物,是一个抽象的概念,比如人类...
//2)对象:指代一个具体的真实存在的事物,比如谦哥...
//3)类和对象的关系:类是对象的模板,根据类创建一个个
//的对象;对象是类的一个具体实现,对象会具备类中所有
//属性和方法。
//2 类的组成:特征和行为(功能)
//3 Java中的类:
//1)组成:属性和方法
//属性:特征,本质就是变量,在方法外定义的。
//方法:去掉static
//2)格式:
//class 类名{
//属性:
//数据类型 属性名;
//方法:
//返回值类型 方法名(参数列表){
// 方法体
//}
//}
//3)Java中的类就是把属性和对属性操作的方法封装在
//一起,自己的方法可以访问自己的属性。
5 Java中的对象
当程序运行的时候,对象就会真实的存在在于内存中,而且对象会具备类中所有的属性和方法。
1)创建对象(暂时):
类名 对象名 = new 类名();
eg:
Person p1 = new Person();
2)访问对象的属性和方法:
a)访问对象的属性:
对象名.属性名
eg:
p1.name = "李世民";
b)访问对象的方法:
对象名.方法名(参数)
eg:
p1.show();
案例:Demo4
public class Demo4 {
public static void main(String[] args) {
User user1 = new User();
user1.name = "诸葛亮";
user1.age = 31;
user1.password = "123456";
user1.job = "军师";
user1.show();
User user2 = new User();
user2.name = "郭嘉";
user2.age = 21;
user2.password = "abc";
user2.job = "军师";
user2.show();
}
}
class User{
//属性
String name;
int age;
String password;
String job;
//方法
void show(){
System.out.println(name+","+age+","
+password+","+job);
}
} public class Demo5 {
public static void main(String[] args) {
Customer cus1 = new Customer();
cus1.name = "吕布";
cus1.age = 32;
cus1.job = "将军";
cus1.address = "长安";
cus1.salary = 200000.1;
cus1.show();
cus1.showAll();
Customer cus2 = new Customer();
cus2.name = "貂蝉";
cus2.age = 21;
cus2.job = "美女";
cus2.address = "长安";
cus2.salary = 200000.1;
cus2.show();
cus2.showAll();
}
}
class Customer{
//属性
String name;
int age;
String job;
double salary;
String address;
//方法
void show(){
System.out.println(name+","+age+","
+job);
}
void showAll(){
System.out.println(name+","+age+","
+job+","+salary+","+address);
}
}
6 面向对象编程的一般方式
首先根据需求设计类,主要编写类中的属性和方法,然后创建该类的对象,并给属性一一赋值,最后调用其方法,实现功能。
案例:Demo6
public class Demo6 {
public static void main(String[] args) {
Box box1 = new Box();
box1.length = 100;
box1.width = 80;
box1.height = 90;
box1.show();
box1.showTiji();
Box box2 = new Box();
box2.length = 200;
box2.width = 120;
box2.height = 150;
box2.show();
box2.showTiji();
}
}
class Box{
//属性
int length;
int width;
int height;
//方法
void show(){
System.out.println(length+","+width
+","+height);
}
void showTiji(){
int result = length * width * height;
System.out.println("体积是"+result);
}
} public class Demo7 {
public static void main(String[] args) {
Emp emp1 = new Emp();
emp1.name = "李治";
emp1.age = 32;
emp1.job = "皇帝";
emp1.address = "洛阳";
emp1.salary = 20000000.1;
emp1.email = "zhi@126.com";
emp1.show();
emp1.showYearSal();
Emp emp2 = new Emp();
emp2.name = "李隆基";
emp2.age = 18;
emp2.job = "皇帝";
emp2.salary = 1000000.1;
emp2.email = "long@163.com";
emp2.address = "长安";
emp2.show();
emp2.showYearSal();
}
}
class Emp{
//属性
String name;
int age;
String job;
String address;
String email;
double salary;
//方法
void show(){
System.out.println(name+","+age+","+
job+","+address+","+email+
","+salary);
}
void showYearSal(){
double result = salary * 12;
System.out.println(name+"的年薪是"+
result);
}
} public class Demo8 {
public static void main(String[] args) {
Kongtiao kt = new Kongtiao();
kt.name = "格力";
kt.color = "白色";
kt.price = 2000.1;
kt.degree = 27;
kt.type = "壁挂式";
kt.show();
kt.hot();
kt.hot();
kt.cool();
kt.cool();
kt.cool();
}
}
class Kongtiao{
//属性
String name;
String type;
double price;
String color;
int degree;
//方法
void show(){
System.out.println(name+","+type+","
+price+","+color+","+degree);
}
void hot(){
degree++;
System.out.println(name+"升高1度以后,"
+"当前的温度是"+degree);
}
void cool(){
degree--;
System.out.println(name+"降低1度以后,"
+"当前的温度是"+degree);
}
}
7 堆和栈(了解)
在Java中使用堆和栈保存引用类型对象的存储区域。
1) 堆:真实保存对象的存储空间。
2) 栈:保存堆中对象的地址。
8 构造方法
构造方法是一种特殊方法,只有在创建对象的时候才会被调用,执行初始化操作,比如给属性赋值。
1)构造方法的名字跟类名一致,而且构造方法没有返回值,所以也就没有返回值类型。
2)格式:
类名(参数列表){
方法体
}
class Person2{
//属性
String name;
int age;
String job;
//构造方法
Person2(String name1,int age1,String job1){
name = name1;
age = age1;
job = job1;
}
}
main(){
Person2 p2 = new Person2("张三丰",100,"道士")
}
3) 创建对象的标准格式:
类名 对象名 = new 构造方法
Java语言基础(10)的更多相关文章
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- Java语言基础(五)
Java语言基础(五) 一.浮点数 浮点数就是小数,其标准是IEEE 754,用指数和尾数表示 例如30000=3*10000=3*10^4 其中4是指数,3是尾数 Java中,浮点数有float ...
- Java语言基础(三)
Java语言基础(三) 一. 补码 (1).之所以有补码是因为要考虑成本 就是造计算机的成本 (2).下面让我们分析一下补码 以四位补码为例 <1> 高位是符号位,它决定其是正数还是 ...
- Java语言基础(二)
Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不 ...
- Java入门篇(二)——Java语言基础(下)
上篇说到Java中的变量与常量,接下来就是简单的计算了,首先需要了解一下Java中的运算符. 六.运算符 1. 赋值运算符 赋值运算符即"=",是一个二元运算符(即对两个操作数进行 ...
- 第二十二节:Java语言基础-详细讲解位运算符与流程控制语句
位运算符(二进制位运算) 运算符 运算 例子 << 左移 3 << 2 = 12 --> 3 * 2 * 2 =12 >> 右移 3 >> 1 = ...
- JAVA语言基础内部测试题(50道选择题)
JAVA语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分.)(每题2分) 没有注明选择几项 ...
随机推荐
- 鸟哥私房菜基础篇:磁碟配额(Quota)与进阶文件系统管理习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0420quota.php 1-在前一章的第一个大量新增帐号范例中, 如果我想要让每个用户均具有 soft ...
- 【VS开发】组播(多播)的C程序实战
每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂. 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看到结果, 就不 ...
- PHP学习(6)——代码重用与函数编写的一些注意事项
一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...
- day20 logging模块、re模块
今日内容: 1.logging模块 2.re模块 1.logging模块 -- 什么是logging模块 -- logging模块是用来进行记录日志的模块,主要作用是将想要输出的日志进行分级,然后以不 ...
- EMR日常操作
1/ 数据root密码修改后emr配置修改: 2/ 添加s3访问 S3:hadoop-aws-2.8.5.jarjar -tfv hadoop-aws-2.8.5.jar |grep S3FileSy ...
- 分库分表之后,id 主键如何处理
基于数据库的实现方案 数据库自增 id 这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个 id.拿到这个 id 之后再往对应的分 ...
- TP5实现自定义抛出异常消息(关闭debug)
重写Handle的render方法,实现自定义异常消息----------------------------------------------------------------------- 首 ...
- curl post请求封装
/* POST /servlet/ICBCCMPAPIReqServlet?userID=jyi.y.1001&PackageID=201807311347539185&SendTim ...
- Elasticsearch5.x安装及常见错误的解决方法
Elasticsearch是基于java开发的,机器上必须要先java环境,elasticsearch5.x建议用jdk8的最新版本.下面介绍elasticsearch5.x的安装步骤: 一.安装El ...
- Redis服务端相关
全局命令: 查看所有键: keys * 键总数: dbsize 检查键是否存在: exists key 删除键: del key [key...] 键过期: expire key seconds 键的 ...