Java
what ?
Java 是一门不纯粹的面相对象(oop;Object Oriented Programming)的语言
JDK : Java开发工具包(Java Develpment Toolkit) -----基础工程打包成包以供方便调用
JRE : Java运行时环境(Java Runtime Envirnoment)
Why?
跨平台 : Write once,run anywhere !
jdk : dt.jar / tools.jar
Where?
JavaSE : Java Standard Edition 窗口程序 | C/S(客户端-Client/应用端-Sever程序 —java标准版 TCP/IP | UDP—基于网络协议
JavaEE : Java Enterprice Edition 基于浏览器与服务器的程序 B/S(Browser/Sever) —java企业版 HTTP(S)—基于网络协议
JavaME : Java Mobile Edition —java移动版
How to learn Java?
please leaning with me !!!
1、java 类文件的基本结构
package PACKAGE_NAME.xxx;
public class CLASS_NAME {
//java程序入口
public static void main(String[] args){
//...
}
}
2、java中的注释
what?
注释暂时不用的代码
解释一段代码,供自己后期阅读,或者团队其他成员参考
how?
1、单行注释
//…
2、多行注释
/*
…
…
*/
3、文档注释
添加解释说明
/**
* @author 羊群满满
* @version v1.2.3
* @since v1.0
*/
3、java 的基本数据类型
what?
数据 : 一个特定含义的符号;
how?
3.1、数据类型转换
1、 需要转换的类型间相互兼容,比如:将小数转换为整数;
2、小数类型的空间 > 整数类型的空间;
3、自动类型转换:小转大 整数转小数;
4、 强制类型转换:大转小 小数转为整数,会导致精度丢失(舍弃小数部分)
//3、自动类型转换:小转大 整数转小数
int a = 5;
double b = a;
System.out.println(b);
//4、强制类型转换:大转小 小数转整数,导致精度丢失(舍弃小数部分)
double c = 5.123;
int d = (int)c;
System.out.println(c);
System.out.println(d);
//控制台输出
5.0
5.123
5
4、java中的变量
what?
一种储存空间的表示!!!
变量: variable
why?
赋予值特定的含义
便于重复使用
how?
数据类型 变量名称 = 值;
public class Test {
public static void main(String[] args) {
//字符变量
//建变量的目的:赋予值特定的含义;便于重复使用
//在java中,所有参与计算的量必须创建变量存储
//符号都对应一个唯一的 unique code : unicode
char gender = '男';
String name = "szy";
byte age = 127;
short number = 32767;
int population = 2100000000; //默认为int
long distance = 999999999999999999L; // 尾缀强转
float price = 8.8F; //尾缀强转为F
double price2 = 8.0; // 小数默认为double
boolean married = false;
System.out.println((int)gender);
System.out.println(Float.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
}
}
//1、声明:数据类型 变量名;
int age;
//2、赋值:变量名 = 值;
age = 18;
//3、使用;
System.out.println(age);
//声明的同时赋值
int age = 18;
//同时声明多个同类型的变量并赋值(阔以选择性赋值)
int ageZs;
int ageLs;
int ageWw;
int agwZs,ageLs = 18,ageWw;
result:
C:\Java\jdk1.8.0_221\bin\java.exe...
30007 Float.MAX_VALUE
3.4028235E38
1.4E-45
1.7976931348623157E308
4.9E-324
Process finished with exit code 0
5、java的常量
what?
常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等
how?
常量的命名规则:全部大写!!!
语法:final数据类型 常量名称 = 值;
常量名称长以下划线连接;
final int MY_CITY = 5;
所有的变量命名都不阔以是关键字
变量的命名规则
1、首字符,必须是【小写字母】,_¥$
2、 其他字符,也阔以是数字
3、驼峰 myFirstName
4、 见名知意
类的命名规则
1、所有的单词首字母大写
2、 见名知意
6、java控制台输出
System.out.println();
7、java 控制台的输入
//导入工具类型
import java.util.Scanner;
public class Personinfo {
public static void main(String[] args){
//声明个人姓名、年龄、性别、体重、婚否变量
String name;
byte age;
char gender;
float weight;
boolean married;
//创建工具对象
Scanner input = new Scanner(System.in);
// 控制台输入赋值
System.out.print("请输入您的名字:");
name = input.next();
System.out.print("请输入您的年龄:");
age = input.nextByte();
System.out.print("请输入您的性别:");
gender = input.next().charAt(0); //无char型,则使用字符串的方法并提取第一个字符!!!
System.out.print("请输入您的体重:");
weight = input.nextFloat();
System.out.print("您是否结婚?");
married = input.nextBoolean();
//控制台输出
System.out.println("\n-----个人信息-----");
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("性别:" + gender);
System.out.println("体重:" + weight);
System.out.println("婚否:" + married);
System.out.println("--------------\n");
}
}
9、java中的运算符
what?
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。
- 算术运算符
- 关系运算符
- 位运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
how?
9.1、算数运算符
what?
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。
how?
表格中的实例假设整数变量A的值为10,变量B的值为20
算数运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ | 除法 - 左操作数除以右操作数 注意除0异常 | B / A等于2 |
% | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
++ | 自增: 操作数的值增加1 | B++ 或 ++B 等于 21(区别详见下文) |
– | 自减: 操作数的值减少1 | B-- 或 --B 等于 19(区别详见下文) |
>> | 右移一位等同于除2 | A >> 1 => A = 5 |
<< | 左移一位等同于乘2 | B << 1 => B = 40 |
public class Test {
public static void main(String[] args) {
int age1 = 18, age2 = 26;
int age3 = age1+age2;
System.out.println("第一个年龄"+age1+"第二个年龄"+age2);
System.out.println("age1+age2="+age3);
System.out.println(age1*age1);
System.out.println(1/0);
System.out.println("a++ = " + (a++) );
System.out.println("a-- = " + (a--) );
// 查看 d++ 与 ++d 的不同
System.out.println("d++ = " + (d++) );
System.out.println("++d = " + (++d) );
}
}
//结果如下:
第一个年龄18第二个年龄26
age1+age2=44
324
a++ = 10
a-- = 11
d++ = 25
++d = 27
a++ 与++a的解析:
- int b = ++a; 拆分运算过程为: a=a+1=n; b=a=n, 最后结果为b=n,a=n
- int d = --c; 拆分运算过程为: c=c-1=n; d=c=n, 最后结果为d=n,c=n
前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算
9.2、关系运算符(比较运算符)
表格中的实例假设整数变量A的值为10,变量B的值为20
关系运算符 | 描述 | 示例 |
---|---|---|
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)为假 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真 |
注意:【关系表达式】结果为布尔值
public class Test {
public static void main(String[] args) {
int a = 10, b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}
//运行结果如下:
a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false
9.3、逻辑运算符
【短路:二元逻辑运算符,如果左侧表达式能够确定最终结果,则右侧表达式不执行】
how?
下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假
逻辑运算符 | 描述 | 示例 |
---|---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
简而言之:&& 都为true为true,否则为false
|| 都为false为false,否则为true
! 非true即false,非false即true
注意: 且、或 都为短路语
public class MothDay {
public static void main(String[] args){
// 根据年和月,判定该年该月有多少天
// 大月31天:1,3,5,7,8,10,12
// 小月30天:4,6,9,11
// 2月平年28天,闰年29天
// 【能被4整数且不能被100整除】,或者【能被400整除】
int year=2020,month=2,day=0;
//2月,由是否闰年决定天数
if(month==2){
if(year%4==0 && year%100!=0 || year%400==0){
day = 29;
}else{
day = 28;
}
}else if(month<8){ //<8的月份:奇数月份为大月,偶数月份为小月
if(month%2==0){
day = 30;
}else{
day = 31;
}
}else{ //>=8的月份:奇数月份为小月,偶数月份为大月
if(month%2==0){
day = 31;
}else{
day = 30;
}
}
System.out.println(year+"年"+month+"月有"+day+"天");
}
}
//运行结果如下:
2020年2月有29天
9.4、赋值运算符
how?
赋值运算符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A,C 与 A 同类型时等价于 C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
… | … | … |
public class Practice {
public static void main(String[] args){
// 三位水仙花数:三位数【3个数位】上数值的【立方和】【等于其自身】
final int UNIT = 10;
int num = 153,copy = num,ones = 0,tens = 0,hundreds = 0;
double sum = 0;
//提取三个数位上的数值
ones = num%UNIT;
num /= UNIT;
tens = num%UNIT;
num /= UNIT;
hundreds = num;
//求立方和
//sum = ones*ones*ones+tens*tens*tens+hundreds*hundreds*hundreds;
sum = Math.pow(ones,3)+Math.pow(tens,3)+Math.pow(hundreds,3);
//逻辑判断
if(sum==copy){
System.out.println(copy+"是水仙花数");
}else{
System.out.println(copy+"非水仙花数");
}
}
}
//运行结果如下:
153是水仙花数
9.5、三元(目)运算符
what?
严格意义上属于赋值运算符
该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
how?
数据类型 变量 = 逻辑表示式 ?值1:值2;
public class Test {
public static void main(String[] args){
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " + b );
// 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
b = (a == 10) ? 20 : 30;
System.out.println( "Value of b is : " + b );
}
}
//运行结果如下
Value of b is : 30
Value of b is : 20
10、java的运算符的优先级
what?
当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。
例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。
再如,x = 7 + 3 * 2;这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。
how?
优先级 | 运算符 | 结合性 |
---|---|---|
1 | () | 从左向右 |
2 | !、+、-、++、– | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | <、<=、>、>= | 从左向右 |
6 | ==、!= | 从左向右 |
7 | && | 从左向右 |
8 | || | 从左向右 |
9 | ?: | 从右向左 |
10 | =、+=、-=、*=、/= | 从右向左 |
11、java 的分支结构
what?
顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。
how?
11.1、分支结构一:if 语句
11.1.1、单分支结构—if语句
what?
语法格式如下:
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
how?
mport java.util.Scanner;
public class SingleBranch {
public static void main(String[] args){
// 小明的爸爸对小明说:“【如果】这次考试【成绩】【95分以上】,【奖励iphone12一部】”
// 工具对象创建
Scanner input = new Scanner(System.in);
//常量或变量声明,并初始化
final int TOP = 95;
int score = 0;
System.out.print("请输入成绩:");
score = input.nextInt();
//程序逻辑的组织设计
if(score>=TOP){
//结果呈现
System.out.println("乖孩子,老爹奖励你一部iphone12...");
}
//资源释放
input.close();
}
}
//运行结果如下:
请输入成绩:95
乖孩子,老爹奖励你一部iphone12...
11.1.2、双分支语句—if…else…
what?
- if 语句后面可以跟 else 语句,当if语句的布尔表达式值为 false 时,else 语句块会被执行。
语法格式如下:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
how?
import java.util.Scanner;
public class DoubleBranch {
public static void main(String[] args) {
// 小明的爸爸说:“儿子本次考试95分以上奖励宝马一台,否则大嘴巴子一顿”
Scanner input = new Scanner(System.in);
final int TOP = 95;
int score = 0;
System.out.print("请输入成绩:");
score = input.nextInt();
if(score>=TOP){
System.out.println("宝马一台...");
}else{
System.out.println("啪...一顿惨叫...");
}
input.close();
}
}
//运行结果如下:
请输入成绩:80
啪...一顿惨叫...
11.1.3、多分支语句—if…else if… …else…
what?
if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。
使用if,else if,else语句的时候,需要注意下面几点:
- if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
- If 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
- 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
语法格式如下:
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
how?
import java.util.Scanner;
public class MultiBranch {
public static void main(String[] args) {
/*
小明的爸爸说:“
儿子本次考试
95分以上奖励宝马一台
85~94丰田一台
70~85QQ一台
60~69三轮早饭车一台
否则大嘴巴子一顿”
*/
Scanner input = new Scanner(System.in);
final int TOP1 = 95;
final int TOP2 = 85;
final int TOP3 = 70;
final int TOP4 = 60;
int score = 0;
System.out.print("请输入成绩:");
score = input.nextInt();
/* if(score>=TOP1){
System.out.println("宝马一台");
}else if(score>=TOP2){
System.out.println("丰田一台");
}else if(score>=TOP3){
System.out.println("QQ一台");
}else if(score>=TOP4){
System.out.println("三轮早饭车一台");
}else{
System.out.println("大嘴巴子一顿");
}*/
if(score<TOP4){
System.out.println("大嘴巴子一顿");
}else if(score<TOP3){
System.out.println("三轮早饭车一台");
}else if(score<TOP2){
System.out.println("QQ一台");
}else if(score<TOP1){
System.out.println("丰田一台");
}else{
System.out.println("宝马一台");
}
input.close();
}
}
//运行结果如下:
请输入成绩:65
三轮早饭车一台
11.1.4、 嵌套的 if…else 语句
what?
使用嵌套的 if-else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。
语法格式如下:
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}
}
how?
//导入随机数工具类型
import java.util.Random;
public class test {
public static void main(String[] args) {
//中奖
//创建随机类型的工具对象
Random rand = new Random();
final int FST = 10 + rand.nextInt(90);
final int SEC = 10 + rand.nextInt(90);
final int TRD = 10 + rand.nextInt(90);
final int FRT = 10 + rand.nextInt(90);
int num = 10 + rand.nextInt(90);
String rst1 = "您未中奖!!!";
if (num == FST) {
rst1 = "一等奖";
} else if (num == SEC) {
rst1 = "二等奖";
} else if (num == TRD) {
rst1 = "三等奖";
} else if (num == FRT) {
rst1 = "四等奖";
}
System.out.println(rst1);
//输入三个数排序
//方法一:两两比较,排序
int a1 = FST, b1 = SEC, c1 = TRD, min = 0, mid = 0, max = 0;
System.out.println("方法一排序前" + a1 + "," + b1 + "," + c1);
if (a1 < b1) {
if (b1 < c1) {
min = a1;
mid = b1;
max = c1;
} else {
if (a1 > c1) {
min = c1;
mid = a1;
max = b1;
} else {
min = a1;
mid = c1;
max = b1;
}
}
} else {
if (b1 > c1) {
min = c1;
mid = b1;
max = a1;
} else {
if (a1 > c1) {
min = b1;
mid = c1;
max = a1;
} else {
min = b1;
mid = a1;
max = c1;
}
}
}
System.out.println("方法一排序后:" + min + "," + mid + "," + max);
//方法二:找最大
int a2 = FST, b2 = SEC, c2 = TRD,t;
System.out.println("方法二排序前" + a2 + "," + b2 + "," + c2);
if (a2>b2){
t = a2;
a2 = b2;
b2 = t;
}
if (b2>c2){
t = b2;
b2 = c2;
c2 = t;
}
//找到剩下两位书中最大的值
if (a2>b2){
t = a2;
a2 = b2;
b2 = t;
}
System.out.println("方法二排序前" + a2 + "," + b2 + "," + c2);
}
}
//运行结果如下:
您未中奖!!!
方法一排序前18,67,57
方法一排序后:18,57,67
方法二排序前18,67,57
方法二排序前18,57,67
11.2、分支结构二:switch 语句
what?
switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法格式如下:
switch(算术表达式){
case 常量1: //算数表达式 == 常量1
//代码块1
break; //结束switch...case结构
case 常量2: //算数表达式 == 常量2
//代码块2
break;
default: // else
//代码块3
break;
}
//注意
/*
switch(what?)
1、JDK>=1.8 String
2、数值
2.1、char
2.2、非long的整数
2.3、枚举
*/
/*
以算数表达式的结果值,从上到下,依次和常量n做等值比较
常量值不能重复
算数表达式 == 常量1
*/
/*
break的功能:结束分支
如果break缺失会导致贯穿现象
贯穿:冲第一个匹配项开始直接,到第一个break结束
合理的运用贯穿现象扩有高效的解决特定问题
*/
/*
整个switch(){}中只存在一个作用域,所以不阔以存在同名变量
*/
how?
//导入随机数工具类型
import java.util.Random;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// 示例
int type = 2;
switch (type){
case 1:
System.out.println("挂失...");
break;
case 2:
System.out.println("充值...");
break;
default:
System.out.println("无服务...");
break;
}
//根据年月,计算该月天数,使用switch...case,并利用贯穿 优化上面判断某年某月天数的code
int year = 2000, month = 2, day = 31;
switch (month) {
case 4:
case 6:
case 9:
case 11:
day = 20;
break;
case 2:
day = year % 4 == 0 && year % 100 == 0 || year % 400 == 0 ? 29 : 28;
break;
}
System.out.println(year + "年 " + month + "月" + "有" + day + "天");
}
}
//运行结果如下:
充值...
2000年 2月有29天
点睛之笔
what?
该片段存在的一以为:
本结java学习中途的代码的查缺补漏,亦或是总体集合!请大家耐心查阅、学习啦!
how?
package char03;
//导入随机数工具类型
import java.util.Random;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//值交换
int left = 5, right = 3, swap;
System.out.println("left =" + left + ", right =" + right);
swap = left;
left = right;
System.out.println("left =" + left + " ,right =" + right);
right = swap;
System.out.println("left =" + left + ", right =" + right);
//嫁女儿的故事
//身高每欠一公分,彩礼+3万,体重每欠或超一斤,彩礼+2万,每结一次婚,彩礼+40
final double HEIGHT = 1.8, WEIGHT_BOTTOM = 160, WEIGHT_TOP = 180, BRIDE_PRICE = 88;
double man_height = 1.68, man_weight = 140, breide_price = 0, married_times = 1;
// char married = '否';
String married = "否";
double height_price = man_height >= HEIGHT ? 0 : (HEIGHT - man_height) * 10 * 3;
double weight_price = man_weight >= WEIGHT_BOTTOM && man_weight <= WEIGHT_TOP ? 0 :Math.abs((man_weight < WEIGHT_BOTTOM ? WEIGHT_BOTTOM : WEIGHT_TOP) - man_weight) * 2;
double marriege_price = married.equals('否') ? 0 : married_times * 40;
breide_price = BRIDE_PRICE + height_price + weight_price + marriege_price;
System.out.println("您的新娘价格为:¥" + breide_price + "万");
// 字符串比较大小
String a = "a", b = "b";
int rst = a.compareTo(b);
System.out.println(rst);
//大小写转换
System.out.println("FWFAawrawrASFDAF".toLowerCase());
System.out.println("FWFAawrawrASFDAF".toUpperCase());
//登录功能
Scanner input = new Scanner(System.in);
final String ACCOUNT = "洋群满满", PASSWORD = "123";
int balance = 100;
System.out.print("请输入账号:");
String acc = input.next();
System.out.print("请输入密码:");
String pass = input.next();
if (acc.equals(ACCOUNT) && pass.equals(PASSWORD)) {
System.out.println("1、查余额 2、存款 3、取款");
System.out.println("请选择:");
byte choice = input.nextByte();
switch (choice) {
case 1:
System.out.println("您当前的余额为:¥" + balance);
break;
case 2:
System.out.println("请输入你需要存款的金额:¥");
double in_money = input.nextDouble();
if (in_money % 100 != 0) {
System.err.println("存款金额仅支持百元面额!!!");
} else {
balance += in_money;
System.out.println("存款¥" + in_money + "成功,当前余额为:¥" + balance);
}
break;
case 3:
System.out.print("请输入取款金额:¥");
double out_money = input.nextDouble();
input.close();
if (out_money % 100 != 0) {
System.err.print("取款金额仅支持百元面额!!!");
} else if (out_money > balance) {
System.out.println("您的余额不足,无法取出您所需要的金额!!!");
} else {
System.out.println("取款¥" + out_money + "成功,当前余额为:¥" + balance);
}
break;
default:
System.out.println("无此服务!!!");
break;
}
} else {
System.out.println("登录失败");
}
//取款功能
}
}
//运行结果如下:
left =5, right =3
left =3 ,right =3
left =3, right =5
您的新娘价格为:¥171.60000000000002万
-1
fwfaawrawrasfdaf
FWFAAWRAWRASFDAF
请输入账号:洋群满满
请输入密码:123
1、查余额 2、存款 3、取款
请选择:
3
请输入取款金额:¥100
取款¥100.0成功,当前余额为:¥100
OK!本次的java学习历程到此结束,后面会继续分享的,尽请期待…