欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

JAVASE,

来源: javaer 分享于  点击 29441 次 点评:146

JAVASE,


JAVASEDAY03

一.比较运算符

比较运算符 返回结果------boolean
大于 > 3>5(false)
大于等于 >= 3>=5(false)
小于 < 3<5(true)
小于等于 <= 3<=5(true)
等于 == (等于运算符不是赋值运算符=) 3==5(false)
不等于 != 3!=5(true)

二.逻辑运算符

逻辑运算符 返回结果------boolean
单与 &:33&3==4(false)33&4==4(true)(有假必假)
双与 &&33&3==4(false)33&4==4(true)(有假必假)
以上两者区别:
&&:只要第一个条件为假则不判断第二个条件(有假必假)
&:不管第一个条件是否为真都判断第二个条件(有假必假)
或 | :3==3|34(true)(有真必真)
双或 ||3==3||3
4(true)(有真必真)
以上两者区别:
||:只要第一个条件为真则不判断第二个条件(有真必真)
|:不管第一个条件是否为真都判断第二个条件(有真必真)
非 !:对当前boolean取否定!(true)==false
异或 ^:3!=3^4!=4(false)(相同为假不同为真)
实例代码:

public class OperationDemo {
	public static void main(String[] args) {
		System.out.println(3>2&&1<2);
		System.out.println(1>3||2<6);
		System.out.println(1>3^2<6);//异或 同为假 不同为真
		//单与和双与的区别 单或和双或
		int i=0;
		int j=0;
		System.out.println(i++>0&&j++>0);//false
		System.out.println(i);//1
		System.out.println(j);//1 0
		//双与 && 如果第一个条件为假 则后面的条件无论真假结果都是假 所以 后面的条件不运行
		//单与 &  全部执行 再将结果进行逻辑运算
		//双或 || 如果第一个条件为真 则后面的条件无论真假结果都是真 所以 后面的条件不运行
		//单或 |  全部执行 再将结果进行逻辑运算
		boolean b=true;//false 布尔值不能够与数字进行计算 true+1
	}
}

三.选择语句if语句

(1)单if语句
… A
if(条件){
如果条件为真时,执行的语句 B
}
… C
条件为真 A->B->C
条件为假 A->C
(2)if-else语句
… A
if(条件){
如果条件为真时,执行的语句 B
}else{
如果条件为假时,执行的语句 C
}
… D
条件为真时:A->B->D
条件为假时:A->C->D
(3)if-else嵌套
… A
if(条件1){
条件1为真… B
if(条件2){
条件2为真… B1
}else{
条件2为假… B2
}
… B3
}else{
条件1为假… C
}
… D
条件1为真 且 条件2为真:A->B->B1->B3->D
条件1为真 且 条件2为假:A->B->B2->B3->D
条件1为假 A->C->D
(4)多if-else分支
…A
if(条件1){ > < >= <= == !=
条件1为真…B
}else if(条件2){
条件2为真…C
}else if(条件3){
条件3为真…D
}else{
… E
}
…F
条件1为真:A->B->F
条件1为假,条件2位真:A->C->F
条件1为假,条件2位假,条件3为真:A->D->F
三者都为假:A->E->F
图示:

代码示例:

public class ErrorDemo {
	public static void main(String[] args) {
		//if后省略大括号的前提是 只有一条语句
		if(3<2);{//局部代码块
			System.out.println("A");
			if(3>2)
				System.out.println("B");
			else
				System.out.println("C");
		}
		boolean b=true;
		if(!b){
			System.out.println("哈哈");
		}else{
			System.out.println("啦啦");
		}
		double d1=1-0.5;
		double d2=1-0.1-0.1-0.1-0.1-0.1;
		System.out.println(d1);
		System.out.println(d2);
		if(d1==d2){//有误差
			System.out.println("嘿嘿");
		}else{
			System.out.println("嘻嘻");
		}
		int c=9;
		boolean isEven = c%2==0;//Odd 奇数 Even 偶数
		if(c%2==0){
			isEven=true;
		}
		int year=2008;
		if(year%4==0&&year%100!=0||year%400==0){
			System.out.println("是闰年");
		}
//		else if(){
//			System.out.println("是闰年");
//		}
		else{
			System.out.println("是平年");
		}
	}
}

四.选择语句

switch(变量){
case 选项1:
如果变量选项1执行的语句
break;
case 选项2:
如果变量
选项2执行的语句
break;

default:
如果选项n中没有适合变量的值,则执行
break;
}
if与switch的区别
if可以对区间值进行比较 也可以对固定值进行比较
switch只能对固定的一个值进行比较 推荐
代码示例:

public class SwitchDemo {
	public static void main(String[] args) {
		int a=2;
		switch(a){
			case 1:
				System.out.println("a==1");
//				break;
			case 2:
				System.out.println("a==2");
//				break;
			case 3:
				System.out.println("a==3");
//				break;
			default:
				System.out.println("a==????");
				break;
		}
		int b=5>3?5:3;
		System.out.println(b);
	}
}

5.三目运算符

布尔表达式(条件表达式)(三目运算)
数据类型 变量名=布尔表达式?常量值1:常量值2;

二:课后题

import java.util.Scanner;
public class Test1 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取身高和体重
		System.out.print("Please enter your weight and hight:");
		double weight=scanner.nextDouble();
		double hight=scanner.nextDouble();
		//2.BMI=体重/身高^2
		double BMI=weight/hight/hight;
		//3.将BMI进行判断,输出相应的说明
		if(BMI>=30.0){
			System.out.println("过胖");
		}else if(BMI>=25.0){
			System.out.println("超重");
		}else if(BMI>=18.5){
			System.out.println("正常");
		}else{
			System.out.println("偏瘦");
		}
	}
}

import java.util.Scanner;
public class Test2 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取用户输入的年份
		System.out.print("Enter the year:");
		int year=scanner.nextInt();
		//2.将年份进行判断 year%4==0&&year%100!=0 || year%400==0
		if( year%4==0&&year%100!=0 || year%400==0){
			System.out.println(year+"是闰年");
		}else{
			System.out.println(year+"是平年");
		}
	}
}

import java.util.Scanner;
public class Test3 {
	public static void main(String[] args) {
		int randomNumber=(int) (Math.random()*100);
		System.out.println("程序产生:"+randomNumber);
		Scanner scanner=new Scanner(System.in);
		//1.用户输入一个数字(要么一位数,要么两位数)
		System.out.print("输入一个数字n,n∈[0,100):");
		int number=scanner.nextInt();
		//2.程序中随机产生一个数字(要么一位数,要么两位数)
			//Math.random()生成一个0~1之间的任意小数[0,1)
			//[0,1) [0,10) [0,100)
		//假设17 a=7 b=1  29 a=9 b=2
		int a1=number%10;//7
		number/=10;//1
		int b1=number%10;//1
		int a2=randomNumber%10;//9
		randomNumber/=10;//2
		int b2=randomNumber%10;//2
		//一等奖 a1=a2 && b1==b2 19 19
		if(a1==a2&&b1==b2){
			System.out.println("一等奖!");
		//二等奖 a1==b2 && a2==b1 19 91
		}else if(a1==b2&&a2==b1){
			System.out.println("二等奖!");
		//三等奖 a1==a2||a1==b2||b1==a2||b1==b2 12 24
		}else if(a1==a2||a1==b2||b1==a2||b1==b2){
			System.out.println("三等奖!");
		}else{
			System.out.println("谢谢参与!");
		}
	}
}

import java.util.Scanner;
public class Demo3_1 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取系数 a b c
		System.out.print("Enter a,b,c:");
		double a=scanner.nextDouble();
		double b=scanner.nextDouble();
		double c=scanner.nextDouble();
		//2.根据delt=b^2-4ac的值 进行判断
		double delt=b*b-4*a*c;
		if(delt>0){
			double x1=(-b+Math.sqrt(delt))/(2*a);
			double x2=(-b-Math.sqrt(delt))/(2*a);
			System.out.print("The equation has two roots "+x1+" and "+x2);
		}else if(delt==0){
			double x1=-b/(2*a);
			System.out.println("The equation has one root "+x1);
		}else{
			System.out.println("The equation has no real roots");
		}
	}
}

import java.util.Scanner;
public class Demo3_2 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.输入系数和常数项
		System.out.print("Enter a,b,c,d,e,f:");
		double a=scanner.nextDouble();
		double b=scanner.nextDouble();
		double c=scanner.nextDouble();
		double d=scanner.nextDouble();
		double e=scanner.nextDouble();
		double f=scanner.nextDouble();
		//2.判断该方程组是否有解
		double delt=a*d-b*c;
		if(delt!=0){
			double x=(e*d-b*f)/delt;
			double y=(a*f-e*c)/delt;
			System.out.println("x is "+x+" , and y is "+y);
		}else{
			System.out.println("has no solution");
		}
	}
}

import java.util.Scanner;
public class Demo3_3 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取今天的周几
		System.out.print("Enter today's day:");
		int today=scanner.nextInt();
		//2.获取几天后
		System.out.print("Enter the number of days elasped since today:");
		int since=scanner.nextInt();
		switch (today%7) {
			case 1:
				System.out.print("Today is Monday ");
				break;
			case 2:
				System.out.print("Today is Tuesday ");
				break;
			case 3:
				System.out.print("Today is Wednesday ");
				break;
			case 4:
				System.out.print("Today is Thursday ");
				break;
			case 5:
				System.out.print("Today is Friday ");
				break;
			case 6:
				System.out.print("Today is Saturday ");
				break;
			case 0:
				System.out.print("Today is Sunday ");
				break;
		}
		//3.输出今天周几 几天后周几
		switch((today+since)%7){
			case 1:
				System.out.print("the future day is Monday ");
				break;
			case 2:
				System.out.print("the future day is Tuesday ");
				break;
			case 3:
				System.out.print("the future day is Wednesday ");
				break;
			case 4:
				System.out.print("the future day is Thursday ");
				break;
			case 5:
				System.out.print("the future day is Friday ");
				break;
			case 6:
				System.out.print("the future day is Saturday ");
				break;
			case 0:
				System.out.print("the future day is Sunday ");
				break;
		}
	}
}

import java.util.Scanner;
public class Demo3_4 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取用户输入的前九位编号
		System.out.print("Enter the first 9 digits of an ISBN as integer:");
		int digit=scanner.nextInt();
		int digitOri=digit;
		//2.将九位编号分别取出
		System.out.println(digit);
		int d9=digit%10;
		digit/=10;
		int d8=digit%10;
		digit/=10;
		int d7=digit%10;
		digit/=10;
		int d6=digit%10;
		digit/=10;
		int d5=digit%10;
		digit/=10;
		int d4=digit%10;
		digit/=10;
		int d3=digit%10;
		digit/=10;
		int d2=digit%10;
		digit/=10;
		int d1=digit%10;
		//3.根据取出的前九位数字 计算第十位
		int d10=(d1*1+d2*2+d3*3+d4*4+d5*5+d6*6+d7*7+d8*8+d9*9)%11;
		System.out.println(d10);
		//4.拼接ISBN 输出
		String res="";
		if(d1==0){
			res+=0;//"0"
		}
		if(d10==10){
			res=res+digitOri+"X";
//			System.out.println(digitOri+"X");//+ 字符串连接符
		}else{
			res=res+digitOri+d10;
		}
		System.out.println(res);
	}
}

import java.util.Scanner;
public class Demo3_5 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.输入一个三位数字
		System.out.print("Enter a number:");
		int number=scanner.nextInt();
		//2.将三位数进行拆分
		int a=number%10;//123
		int b=number/100;//
		//3.对比个位与百位
		if(a==b){
			System.out.println("是回文数字");
		}else{
			System.out.println("不是!");
		}
	}
}

import java.util.Scanner;
public class Demo3_6 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.输入玩家的选择
		System.out.print("Enter :");
		int p=scanner.nextInt();
		//2.随机生成选择
		int c=(int) (Math.random()*3);//[0,1)*3 [0,3)
		System.out.println(c);
		int result=-1;
		String cStr="";//出拳信息
		String pStr="";//出拳信息
		if(p==0){
			result=(p+c+3)%3;
		}
		if(p==1){
			result=(p+c+1)%3;
		}
		if(p==2){
			result=(p+c+2)%3;
		}
		if(p==0){
			pStr="scissor";
		}else if(p==1){
			pStr="rock";
		}else{
			pStr="paper";
		}
		if(c==0){
			cStr="scissor";
		}else if(c==1){
			cStr="rock";
		}else{
			cStr="paper";
		}
		System.out.print("The computer is "+cStr+". You are "+pStr+".");
		switch (result) {
			case 0:
				System.out.println(" too! It is draw.");
				break;
			case 1:
				System.out.println("You lose.");
				break;
			case 2:
				System.out.println("You won.");
				break;
		}
	}
}
/*
 * 0 1 2
 * 0 1 2
 * 
 * P C
 * 0 0 平0 0+3%3
 * 0 1 输1 1+3%3
 * 0 2 赢2 2+3%3
 * 
 * 1 0 赢2 1+1%3
 * 1 1 平0 2+1%3
 * 1 2 输1 3+1%3
 * 
 * 2 0 输1 2+2%3
 * 2 1 赢2 3+2%3
 * 2 2 平0 4+2%3
 * */

import java.util.Scanner;
public class Demo3_7 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.输入三角形三边
		System.out.print("Enter the three side of a triangle:");
		double side1=scanner.nextDouble();
		double side2=scanner.nextDouble();
		double side3=scanner.nextDouble();
		//2.依次判断每个边的合法性
		if(side1+side2>side3&&side1+side3>side2&&side2+side3>side1){
			//3.如果合法 计算周长
			double l=side1+side2+side3;
			System.out.println("The length of triangle is "+l);
		}else{
			System.out.println("The side is Illegal");
		}
	}
}

import java.util.Scanner;
public class Demo3_8 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取 年份 月 日
		System.out.print("Enter year:");
		int year=scanner.nextInt();
		System.out.print("Enter month:");
		int month=scanner.nextInt();
		System.out.print("Enter the day of the month:");
		int day=scanner.nextInt();
		//隐含计算 j 世纪数 k该世纪的第几年
		if(month==1||month==2){
			month+=12;
			year--;
		}
		int j=year/100;
		int k=year%100;
		int h=(day+26*(month+1)/10+k+k/4+j/4+5*j)%7;
		System.out.println(h);
	}
}

import java.util.Scanner;
public class Demo3_9 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.获取坐标点 x y
		System.out.print("Enter a point with two coordinates:");
		double x=scanner.nextDouble();
		double y=scanner.nextDouble();
		//2.求坐标点到圆心的距离
		double deltX=x-0;
		double deltY=y-0;
		double distance=Math.sqrt(deltX*deltX+deltY*deltY);
		//3.将距离和半径进行个比较
		if(distance>10){
			System.out.println("Point("+x+","+y+") is not in the circle.");
		}else{
			System.out.println("Point("+x+","+y+") is in the circle.");
		}
	}
}

import java.util.Scanner;
public class Demo3_10 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		//1.输入坐标点
		System.out.print("Enter a point:");
		double x=Math.abs(scanner.nextDouble());
		double y=Math.abs(scanner.nextDouble());
		//2.判断该坐标点x的量和y的量
		if(x>5||y>2.5){
			System.out.println("矩形外");
		}else{
			System.out.println("矩形内");
		}
	}
}

相关文章

    暂无相关文章

用户点评