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分) 没有注明选择几项 ...
随机推荐
- Python3 Selenium自动化web测试 ==>FAQ:隐式等待和sleep区别
FAQ: 情景1: 设置等待时间 A方法:sleep 线程休眠,但只单次有效,其他操作需要加载等待时间,需要再次添加time.sleep() B方法:implicitly_wait() from se ...
- 安装keystone
在控制节点上执行 controllerHost='controller' MYSQL_PASSWD='m4r!adbOP' RABBIT_PASSWD='0penstackRMQ' ADMIN_PAS ...
- 《九阴真经:iOS黑客攻防秘籍》新书发布
本书内容易于理解,可以让读者循序渐进.系统性地学习iOS安全技术.书中首先细致地介绍了越狱环境的开发与逆向相关工具,然后依次讲解了汇编基础.动态调试.静态分析.注入与hook.文件格式,最后为大家呈现 ...
- Maven跳过单元测试的两种方式
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下. -Dmaven.test.skip=true,不执行测试用例,也不编译测试 ...
- provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.
通常情况下,要解决这个,你去SQL Server配置管理器(SSCM)和: [1]在SSCM中设置 [1.1]确保共享内存协议启用 [1.2]确保命名管道协议 [1.3]确保TCP / IP被启用,和 ...
- 在Docker Container 内部安装 Mono 的方法 ---From官网
1.首先 mono 是什么 Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目. 该项目的目标是创建一系列匹配ECMA标准(Ecma-334和Ecm ...
- 链表中环的入口结点——牛客剑指offer
题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 题目分析: 从上图中可以看出,环的入口结点和其他结点的区别:环的入口结点是有两个指针指向的,其他结点除了头结点都 ...
- intelliJ idea安装go开发环境 并 搭建go项目 打包
本人使用的是 idea 开发go项目 也是一个初学者 将自己遇到的问题记录分享 在晚上查找了很多资料 没有什么可以直接使用 本人再次整理一下 我使用的idea 时 2017.2.6 版本的 查 ...
- Fix Scheduled Task Won’t Run for .BAT File
Step 1: Check File/Folder Permissions The first step to fixing this issue is ensuring that the accou ...
- 手把手教你搭建FastDFS集群(中)
手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...