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分) 没有注明选择几项 ...
随机推荐
- mysql 添加表情 Incorrect string value: '\xF0\x9F\x98\x8
方法1:使用utf8mb4的mysql编码来容纳这些字符 注意:要使用utf8mb4类型,首先要保证Mysql版本要不低于 MySQL 5.5.3. 第一步:修改my.ini配置文件 [mysql]# ...
- Qt在控制台输出中文的解决办法(转载)
转载网址:https://blog.csdn.net/qq_22512533/article/details/75408984 按下快捷键Win+R,输入regedit打开注册变编辑器,依次找到 HK ...
- 【C/C++开发】【Java开发】JNI的替代者—使用JNA访问Java外部功能接口
JNI的替代者-使用JNA访问Java外部功能接口 1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言( ...
- 支付宝网站即时支付开发,MD5加签名规则处理代码展示
一.如果传入进来的Object对象,最后生成制定格式的字符换 text: list拼接成字符串,map中的所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,list的元素之间用“| ...
- 【转帖】k8s之Deployment与service
k8s之Deployment与service 2018年08月05日 18:11:00 xiyou_pen/pen 阅读数 5894 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...
- WijmoJS 支持模板字符串常量
WijmoJS 支持模板字符串常量 在V2019.0 Update2 的全新版本中,WijmoJS 支持了模板字符串常量. 模板字符串是ES2015 / ES6中引入的一个非常棒的JavaScript ...
- python列表一
1.列表数据类型 列表是一个值,它包含多个值构成,也可包含其他列表,其内的表项用逗号分隔 列表值:作为一个值可以保存在变量中,或传递给函数,像所有其他值一样. #不是指括号内的值 表项:列表中的值, ...
- 【LOJ】#3085. 「GXOI / GZOI2019」特技飞行
LOJ#3085. 「GXOI / GZOI2019」特技飞行 这显然是两道题,求\(C\)是一个曼哈顿转切比雪夫后的线段树扫描线 求\(AB\),对向交换最大化和擦身而过最大化一定分别为最大值和最小 ...
- phpQuery简介
接上一篇,使用 Snoopy 抓取回来网页之后,需要解析网页中的元素,但是对于 https://www.cnblogs.com/hellowzd/p/5163276.html
- MySql 多表关系
多表关系 一对一关系 一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面 一对多关系 班级是1端,学生是多端,结合面向对象的思想 ...