java实训(181020~181021)

第二章 变量、数据类型、运算符

4,Java类型转换

(1)A=B 要求AB必须要类型兼容
    数字:char<int<double
    非数字:(char) String
(2)A=B 类型转换
    a,自动类型转换:小-->大  
        double=int        double d=4;  double d=10/3.0;
        int=char      int i='a';
        double=char     double d='@';
    b,强制类型转换:大-->小
        int=(int)double        int i=(int)2.3; int i=10/3+(int)2.0; int i=(int)(10/3+2.0);

        float f=(float)3.4;

        结果(double)=char+int+float+double
(3)数字--->String
    String=数字+""
(4)String-->数字
    "6"---->6
  

  int=Integer.parseInt(String);
  float=Float.parseFloat(String);
  double=Double.parseDouble(String);


-------------------------------------------------------------
char c=1; ?
编程题:交换两个变量的值

int a=2;
int b=5;

<1>

import java.util.Scanner;
public class Choose{
	public static void main(String[]args){
		Scanner scanner=new Scanner(System.in);
		System.out.print("请输入a:");
		int a=Integer.parseInt(scanner.next());	
		Scanner scanner1=new Scanner(System.in);
		System.out.print("请输入b:");
		int b=Integer.parseInt(scanner1.next());	
		int c;
		c=a;
		a=b;
		b=c;
		System.out.println("a="+a+"\nb="+b);
	}
}


 
    <2>

import java.util.Scanner;
public class Choose1{
	public static void main(String[]args){
		Scanner scanner=new Scanner(System.in);
		System.out.print("请输入a:");
		int a=Integer.parseInt(scanner.next());	
		Scanner scanner1=new Scanner(System.in);
		System.out.print("请输入b:");
		int b=Integer.parseInt(scanner1.next());	
		a = a + b;
		b = a - b;
		a = a - b;
		System.out.println("a="+a+"\nb="+b);
	}
}


  System.out.println("交换之后:\n a="+a+";\n b="+b+""); //双引双加

//学习计算机语言的基本步骤

1,HelloWorld
2,输入输出
3,变量和数据类型及运算符
4,控制语句(条件、循环)
 

第三章 运算符和条件结构

1,布尔类型:boolean

boolean b=true/false;

import java.util.Scanner;
public class TorF  { 
    public static void main(String[]args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入李四的成绩:");
        int zhangsan=scanner.nextInt();
        int lisi=80;
        boolean b=lisi>zhangsan;
        System.out.println("李四的成绩是否比张三高?"+b);    
    }
}

表达式:由操作数和运算符组成的式子
int a=b+3; -----------------算数表达式
boolean b=a>x; -------------关系表达式/条件表达式

2,if条件结构

if(条件){
    语句;
}
嵌套if语句:
if(条件1){
    if(条件2){
        ...
    }
}
并列if语句:
if(条件1){
    语句1;
}
if(条件2){
    语句2;
}
...
多重if语句:
if(条件1){

   语句1;
}else if(条件2){
    语句2;
}else if(条件3){
    语句3;
}else{
    语句n;
}

import java.util.Scanner;
public class Reward{
	public static void main(String[] args){
		Scanner scanner=new Scanner(System.in);
		System.out.print("请输入令狐冲的成绩:");
		int a=Integer.parseInt(scanner.next());
		if (a>90){
			System.out.println("师父奖励令狐冲一本武功秘籍。");
		}else{
		 	System.out.println("没有奖励。");
		}
	}
}


 


3,逻辑运算符:&& || !

(1)& | 与 && ||的区别
(2)使用()控制优先级

import java.util.Scanner;
public class Aandb{
	public static void main(String[] args){
		Scanner scanner=new Scanner(System.in);
		System.out.print("请输入a:");
		int a=Integer.parseInt(scanner.next());
		Scanner scanner1=new Scanner(System.in);
		System.out.print("请输入b:");
		int b=Integer.parseInt(scanner1.next());
		if ((a%b==0)||(a+b>1000)){
			System.out.println(a);
		}else{
		 	System.out.println(b);
		}
	}
}


4,多路分支语句

(1)多重if
if(条件1){
    语句1;
}else if(条件2){
    语句2;
}else if(条件3){
    语句3;
}else{
    语句n;
}
(2)switch-case
switch(表达式){
    case 值1:
        语句;
        break;
    case 值2:
        语句;
        break;
    ...
    default
        语句;

}

import java.util.Scanner;
public class Phone{
	public static void main(String []args){
		Scanner scanner=new Scanner(System.in);
		System.out.print("请输入号码:");
		int a=Integer.parseInt(scanner.next());
		switch(a){
		case 1:
			System.out.print("拨爸爸的号。");
			break;
		case 2:
			System.out.print("拨妈妈的号。");
			break;
		case 3:
			System.out.print("拨爷爷的号。");
			break;
		case 4:
			System.out.print("拨奶奶的号。");
			break;
		default:
			System.out.print("输入有误。");
			
		}
	}
}


switch的注意事项:
    a,不要省掉break
    b,值不允许重复
    c,值只能是整形或字符型,不能是String (Java高版本支持字符串)

(3)1和2区别:
    a,效率:switch效率高于多重if
    b,原理:switch固定点的判定,多重if范围的判定

    switch-case-----一定----->多重if
    多重if-----不一定-----switch-case


注释: // , /*   */

(1)类
    /*
    * 功能:计算器
    * 日期:2018-3-6
    */
    public class Calculator{       
    }
(2)方法
    public class A{
        //main方法
        public static void main(){

        }
    }
(3)代码
    aaaaaaaaaaaaaaaa;
    bbbbbbbbbbbbbbbbbb;//注释该行
    //下面代码的注释
    ccccccccccccccc;
    ddddddddddddddddddd;
    eeeeeeeeeeeeeeeeee;
    //注释


第四章 循环

1,while循环:先判断后执行的循环

 语法:
    while(循环条件){
        循环操作;(改变循环条件,使循环朝着结束的方向走)
    }

public class People{ 
    public static void main(String[]args){
        int people =80000;
	int year=2006;
        while(people<=200000){
	people=(int)(people*1.25);
	year++;	
	}    
        System.out.println("在"+year+"年学员将达到20万人。");    
    }
}


2,do-while循环:先执行后判断  

语法:
    do{
        循环操作;
    }while(循环条件);

public class People1{ 
    public static void main(String[]args){
        int people =80000;
	int year=2006;
        do{
	people=(int)(people*1.25);
	year++;	
	} while(people<=200000);    
        System.out.println("在"+year+"年学员将达到20万人。");    
    }
}


3,练习:

<1>猜数游戏,

import java.util.Scanner;
public class NumGame{
	public static void main(String[]args){		
		int right=66,num;
		String choose;
		System.out.println("*欢迎来到猜数游戏*");
		System.out.println("******************");
		Scanner sc=new Scanner(System.in);
		do{
			System.out.println("请输入您所猜的数字(1~100):");
			num=sc.nextInt();
			if(num>right){
				System.out.println("大于正确值。");
			}else if(num<right){
				System.out.println("小于正确值。");
			}else
				System.out.println("恭喜您,猜对了!");
			do{
				System.out.println("是否继续?(y/n)");
				choose=sc.next();
			}while(!(choose.equals("y")||choose.equals("n")));
		}while(choose.equals("y"));
		System.out.println("欢迎下次再来。");	
	}
}

<2>登录

import java.util.*;
public class Login{
	public static void main(String[]args){
		//系统内置的正确账号和密码
		String ok_user="admin";
		String ok_pwd="123456";
		int count=3;//登录次数
		System.out.println("**********************************************");
		System.out.println("\t作业展示系统登录");
		System.out.println("**********************************************");
		Scanner sc=new Scanner(System.in);
		while(count>0){
			System.out.print("请输入用户名:");
			String user=sc.next();
			System.out.print("请输入密码:");
			String pwd=sc.next();
			if(user.equals(ok_user)&&pwd.equals(ok_pwd)){
				System.out.println("恭喜登录成功!");
				break;
			}else{
				System.out.println("用户名或密码错误!");
				count--;
				if(count!=0){
					System.out.println("您还有"+count+"次机会!");
				}
			}
		}
		System.out.println("系统退出。。。");
	}
}

4,for循环:   

语法:
    for(初始化循环变量;循环条件;更新循环变量){
        循环操作
    }

    for(int i=0;i<10;i++){
        操作;
    }

public class Jiu9{
	public static void main(String []args){
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(""+j+"*"+i+"="+(i*j)+"\t");
			}
			System.out.println("");
		}
	}
}


    执行流程:
        int i=0;
        i<10判断
        操作
        i++
        i<10判断
        操作
      。。。
    for循环的省略方式:
        int i=0;
        for(;;){
            if(i<10){
                操作;
                i++;
            }else{
                break;
            }
        }
        等价于:for(int i=0;i<10;i++){操作;}    

5,死循环 

 for(;;){
        if(条件) break;
    }
    while(true){
        if(条件) break;
    }
    do{
        if(条件) break;
    }while(true);

6,while,do-while,for 使用原则

(1)循环的次数能否确定:
    能确定次数:for
    不能确定次数:while和do-while
(2)while系
    先判断后执行:while
    先执行后判断:do-while  

7,跳出

 break :switch-case和循环中
    continue:循环中
 
无法访问的语句:
    if(1>1){
        ....
    }

    while(false){
        ...
    }

    break;
    ...

    return;
    ...

8,for循环练习

(1)打印图形练习:矩形、三角形 ...
    ***********
    ***********
    ***********
    ***********

    *
    ***
    *****
    *******
  *
 ***
*****



public class Demo1{
	public static void main(String[]args){
		jiu();
	}
	//方法
	public static void jiu(){
		for(int i=8;i>0;i--){
			for(int j=1;j<=2*i-1;j++){
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}


(2)99乘法表
    1X1=1
    1X2=2 2X2=4
    ................


基本类型:int double char
引用类型:String(类)

String s="hello";
if(s.equals("hello")){             错误:s=="hello"

}

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值