0713 Demo01~09

java运行机制
    Demo01.java(源代码) --编译--->Demo01.class(字节码文件) --->在JVM上运行
    --->完成功能,打印Hello World


变量
   什么是变量?
        内存中存储数据的空间,存储的数据可以改变
 

java的数据类型
    a.基本类型(原始类型,标量) -- 8个
          整数:byte(8 bit)  short(16bit) int(32bit) long(64bit)
          浮点数(小数):float(32bit) double(64bit)
          布尔值(逻辑值): boolean (true false)
          字符类型:char-- 'A' 'a' '中' '1' '#'
    b.引用类型(对象类型)
          String (字符串)

     两中类型在内存中存储数据的方式
     基本类型:存放在栈区,放在同一个空间
     引用类型:引用变量放在栈区,存放内容的地址值
                    内容存放在堆区.

运算符与表达式
     a. 赋值运算 (=)
         int a = 1

     b. 复合赋值运算
         int a = 1;
         a += 2; -- a = a + 2
         a -=2;--- a = a - 2
         a *=2
         a  /=2
         a %=2

     c. 算术运算
           + - * /  %(取余数)

     d.关系运算
        > >= < <= != ==(等于)

     e.逻辑运算
           与
              条件1 && 条件2
               true && true == true
               true && false = false
               false && true= false
               false && false = false
           或
              条件1 || 条件2
               true || true == true
               true || false = true
               false || true= true
               false || false = false
           非  
              !true = false
              !false = true

     条件运算(三目运算)
           条件?值1:值2 --整体返回值

     if结构
     switch(参数)
     参数默认是int类型,比int小的整数 byte short
     但是long不行
     char
     switch(参数){
          case 值1:语句1;break;
          case 值2:语句2;break;
          case 值3:语句3;break;
           ....
           default:语句n
      }


    循环结构
       while  do while for
       循环三要素
       循环变量  循环条件  循环体    
       1+2+3+....+100 = 5050

     break与continue
     break: 终止循环
     continue:结束本次循环,进入下一次循环

     1+2+3+....+100
      累加到第三个3的倍数时终止循环
     1+ 2 +3 +4+5 + 6 +7 +8+9 = 45

     1+2+3+....+100
     忽略3的倍数和个位是3的数
     i%3==0    i%10 ==3
     1+2+4 + 5 +7+8+10+11+14+16+....

     嵌套循环
      for(){
         for(){

           }
      }
     //打印杨辉三角形

  
     数组
        什么是数组?
         数组是内存中连续存储数据的空间,数组中存放的数据类型必须一致
       int[] arr = new int[3];
       String[] ss = new String[6];
        数组是引用类型
        数组中存放的数据称为数组的元素
        8个基本类型数组元素的默认值
        整数:byte short int long --- 0
        浮点数:float double --- 0.0
        布尔值:false
        字符:''
       对象数组元素的默认值是null
       数组的length属性表示数组的长度

       数组的读写(访问)
          数组是通过下标去访问
          数组的下标:0~数组的长度-1

     排序 (冒泡 选择  插入 快速 希尔 ...)
     n个数字来排队
     两辆相比小靠前
     外层循环 n-1
     内层循环n-1-i

    系统排序
     Arrays.sort(数组);
     

package demo;

public class Demo01 {
	  // Alt + / + 回车
        public static void main(String[] args) {
        	   // syso  + Alt +/+回车
	          // System.out.println("Hello World");
        	int a = 1;//标量
        	a = 2;
	         System.out.println(a);
	         String s =  "你好";//引用类型
	         System.out.println(s);
		}
}

2

你好

package demo;

import java.util.Scanner; //ctrl + shift + O 快捷键导包

public class Demo02 {
	 /**
	  * 条件运算
	  *    从控制台输入一个年龄
	  *    年龄>=18 ,输出成年了
	  *    否则,输出未成年
	  * @param args
	  */
    public static void main(String[] args) {
		  Scanner sc = new Scanner(System.in);
		  System.out.print("请输入一个年龄:");
		  int age = sc.nextInt();
		  String s = age>=18?"成年了":"未成年";
		  System.out.println(s);
		 

		  
	}
}
package demo;

import java.util.Scanner;

public class Demo03 {
    /**
     *  从控制台输入一个学生成绩
     *   90~100 输出优秀
     *   80~89  输出良好
     *   60~79  输出及格
     *   0~59    输出不及格
     *   其他   输出 "请输入正确的成绩"
     */
	 public static void main(String[] args) {
		   Scanner sc = new Scanner(System.in);
		   System.out.print("请输入一个成绩:");
		   //Ctrl + 1 + 回车 自动声明变量
		    int score = sc.nextInt();
		    /*
		    if(score>=90 && score<=100){
		    	System.out.println("优秀");
		    }else if(score>=80 && score<=89){
		    	 System.out.println("良好");
		    }else if(score>=60 && score<=79){
		    	System.out.println("及格");
		    }else if(score>=0 && score<=59){
		    	System.out.println("不及格");
		    }else{
		    	 System.out.println("请输入正确的成绩");
		    }*/
		    //优化
		    /*
		    if(score<0 || score>100){//在第一个分支排除所有的错误输入
		    	System.out.println("请输入正确的成绩");
		    }else if(score>=90){
		    	 System.out.println("优秀");
		    }else if(score>=80){
		    	 System.out.println("良好");
		    }else if(score>=60){
		    	 System.out.println("及格");
		    }else{
		    	System.out.println("不及格");
		    }*/
		    //switch case重构
		    //排除错误的输入
		    if(score<0 || score>100){
		    	 System.out.println("请输入正确的成绩");
		    }
		    score /=10; // 95/10 = 9   66/10 = 6      6/10 = 0   100/10 = 10    
		    //score 是一个0~10的整数
		    switch (score){
		       case 0:
		       case 1:
		       case 2:
		       case 3:
		       case 4:
		       case 5: System.out.println("不及格"); break;
		       case 6:
		       case 7:System.out.println("及格"); break;
		       case 8:System.out.println("良好"); break;
		       case 9:
		       case 10:System.out.println("优秀"); break;
		    }
		
	}
}
package demo;

public class Demo04 {
	/**
	 *   0~65535
	 * @param args
	 */
     public static void main(String[] args) {
		  int a = 'A';
		  System.out.println(a);
		  char ch = 97;
		  System.out.println(ch);
	}
}
package demo;

public class Demo05 {
    public static void main(String[] args) {
		  //while
    	/*
    	int sum = 0;//总和
    	int idx = 1;//循环变量
    	while(idx<=100){
    		//循环体
    		sum += idx;
    		idx++;
    	}
    	System.out.println("总和:"+sum);*/
    	
    	//do while
    	/*
    	int sum = 0;//总和
    	int idx = 1;//循环变量
    	do{
    	  //循环体	
    		sum += idx;
    		idx++;
    	}while(idx<=100);
    	System.out.println("总和:"+sum);*/
    	//for循环 --标准化,结构化的循环
    	int sum = 0;//总和
        for (int i = 1; i <=100; i++) {
			sum += i;
		}
        /*
         *     for(循环变量初始化;循环条件判断;循环变量自增|自减){
         *          执行循环体
         *     }
         * 
         * 
         * 
         * */
    	System.out.println("总和:"+sum);
	}
}
package demo;

public class Demo06 {
	  /**
	   *   1+2+3+....+100
      累加到第三个3的倍数时终止循环
     1+ 2 +3 +4+5 + 6 +7 +8+9 = 45
	   * @param args
	   */
    public static void main(String[] args) {
		int sum = 0;//总和
		int count = 0;//计数
		for (int i = 1; i <=100; i++) {
			  sum += i;
			  if(i%3==0){//判断i是否时3的倍数
				  count++;
			  }
			  if(count==3){//刚好加完第三个3的倍数
				  break;
			  }
		}
		System.out.println("总和:"+sum);
	}
}
package demo;

public class Demo07 {
    /**
     * 1+2+3+....+100
     忽略3的倍数和个位是3的数
     i%3==0    i%10 ==3
     1+2+4 + 5 +7+8+10+11+14+16+....
     */
	public static void main(String[] args) {
		int sum = 0;//总和
		int count = 0;//计数
		for (int i = 1; i <=100; i++) {
			 if(i%3==0 || i%10==3){
				  continue;//忽略本次循环,本次循环continue之后的代码都不执行
			 }
			  sum += i;//累加
		}
		System.out.println("总和:"+sum);
	}
}
package demo;

import java.util.Arrays;

public class Demo08 {
    /**
     * 数组
     */
	public static void main(String[] args) {
		 int[] arr = new int[3];
		 for (int i = 0; i < arr.length; i++) {
			  System.out.println(arr[i]);
		}
		 String[] ss = new String[3];
		 for (int i = 0; i < ss.length; i++) {
			System.out.println(ss[i]);
		}
		 System.out.println(arr.length);//3
		 System.out.println(ss.length);//3
		 //给数组赋值
		 for (int i = 0; i <arr.length; i++) {
			  arr[i] = i;
		 }
		 //打印数组
		 //Arrays --数组工具类
		 String arrStr = Arrays.toString(arr);
		 System.out.println(arrStr); //[0, 1, 2]
		 
		 for (int i = 0; i < ss.length; i++) {
			    ss[i] = "hello" + i;
		 }
		 System.out.println(Arrays.toString(ss));
	}
}
package demo;

import java.util.Arrays;

public class Demo09 {

	/**
	  * 冒泡排序
	  * @param args
	  */
    public static void main(String[] args) {
		 int[] arr = {12,7,89,16,33,78,100,234,55};//n就是数组的长度
		 //升序
		 //排序前
		 System.out.println(Arrays.toString(arr));
		 //排序 --升序
		 /*
		 int temp = -1;
		 for (int i = 0; i < arr.length-1; i++) {//外层循环n-1次
			for (int j = 0; j < arr.length-1-i; j++) {//内层循环n-1-i次
				 //两两相比小靠前 -- 数组中相邻的两个元素
				 if(arr[j]<arr[j+1]){  
					 temp = arr[j];
					 arr[j] = arr[j+1];
					 arr[j+1] = temp;
				 }
			}
		 }*/
		     Arrays.sort(arr);
		 //排序后
		 System.out.println(Arrays.toString(arr));
	}
}

猜你喜欢

转载自blog.csdn.net/Fern2018/article/details/81172740
今日推荐