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分) 没有注明选择几项 ...
随机推荐
- window 安装指定的node版本
有时候不同的项目需要不同的node版本,window切换node版本命令很不管用,甚至需要卸载后重新装,同事分享了一下他的做法,很便利. 1.打开node官网 https://nodejs.org/e ...
- 从零探索Java网络编程01之 TCP/IP 与 Socket
最近完成了几项比较简单的项目, 终于是在996里偷了点闲暇时光, 想着来研究研究些啥吧? 一个普通的控制台日志映入了我的眼帘(孽缘呀): (图中使用 SpringBoot 的 log4j 来输出日志 ...
- ValueError: Object arrays cannot be loaded when allow_pickle=False
错误ValueError: Object arrays cannot be loaded when allow_pickle=False的解决 numpy最新版1.17以上版本与其他包不兼容问 ...
- 【VS开发】OpenCV2:Mat属性type,depth,step
OpenCV2:Mat属性type,depth,step 在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学.这几天 ...
- 截取铃声python代码
from pydub import AudioSegment file_name = "张杰 - 这就是爱.mp3" sound = AudioSegment.from_mp3(f ...
- 第五周课程总结&实验报告(四)
第五周课程总结 本周主要学习了 1.抽象类 抽象类的定义格式 abstract class抽象类名称{ 属性; 访问权限返回值类型方法名称(参数){ //普通方法 [return返回值]; } 访问权 ...
- 小菜鸟之servlet
# Servlet课程-1和2和3 容 Web项目 项目代码部署在服务器上, 一般分为c\s(客户端\服务器端)和b\s(浏览器/服务器) 服务器 常用的服务器(tomcat服务器) tomcat的目 ...
- [SDOI2011]消耗战 题解
题面 虚树的模板题: 虚树的思想是只保留有用的点(在这道题目里面显然是标记点和lca),然后重新构建一棵树,从而使节点大大减少,优化复杂度 我们维护一条链(以1号点为根),这条链左边的所有在虚树上的位 ...
- C++ 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解(转)
最近因为接触机器学习,所有涉猎到C++方面的开发.在c++中有几个概念很迷糊. VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性& ...
- 协议相关(HTTP,TCP,webservice,socket)
什么是协议? 我们常常点开的链接(URL)就有HTTP.HTTPS协议 枯燥点的知识(协议模型) HTTP,webservice都是在<TCP/IP协议>的应用层. TCP,socket在 ...