自学笔记(第二讲)

变量

  • 变量是什么:就是可以变化的量
  • java是一种强类型语言,每个变量都必须声明其类型
  • java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
static int allClicks=0; //类变量
        String str="hello world";  //实例变量
        public void method(){
            int i=0;  //局部变量
        }
public class Test2 {
    //类变量  static
    static double salary=2500;

    //属性:变量

    //实例变量:从属于对象;  如果不自行初始化,这个类型的默认值是0   0.0   u0000
    //布尔值是false
    //除了基本类型  其余的默认值是null
    String name;
    int age;


    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始值
        int i=10;
        System.out.println(i);

        //变量类型   变量名字=new Test2();
        Test2 a=new Test2();
        System.out.println(a.age); //结果为0
        System.out.println(a.name);  //结果为null

        System.out.println(salary);  //结果为2500  是类变量  前面必须加static
    }
    //其他方法
    public void add(){
        System.out.println();
    }
}

常量

  • 常量:初始化后不能再改变的值!不会变动的值
  • 所谓常量可以理解为一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变
  • 常量名一般使用大写字符
final 变量名=final double PI=3.14;

变量的命名规范

  • 所有变量 方法 类名: 见名知意
  • 类成员变量:首字母小写和驼峰原则: mnthSalary 除了第一个单词以外,后面的单词首字母大写 lastname lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则 Man GoodMan
  • 方法名:首字母小写和驼峰原则 run() runRun()

运算符

在这里插入图片描述

public class Test4 {
    public static void main(String[] args) {
        long a=123456156465L;
        int b=123;
        short c=10;
        byte d=8;

        System.out.println(a+b+c+d);  //运算中有long类型 结果类型就为long
        System.out.println(b+c+d);   //没有long  结果就为int
        System.out.println((double) c+d);

        int a1=10;
        int b1=20;

        a1-=b1;  //a1=a1-b1
        System.out.println(a1>b1);
        System.out.println(a1<b1);
        System.out.println(a1==b1);
        System.out.println(a1!=b1);


        //字符串的连接符 +, String
        System.out.println(""+a+b);//结果为a+b  连接起来 并不会进行运算  因为有字符串
        System.out.println(a+b+""); //结果正常运算  因为字符串在后面

        //三元运算符
        //x?y:z
        //如果x==true 结果为y  否则为z
        int score=80;
        String type=score<60?"不及格":"及格"; //如果score小于60分则输出不及格  否则输出及格
        System.out.println(type); //及格
    }
}

包机制

  • 为了更好地组织类,java提供了包机制,用于区别类名的命名空间
  • 包语句的语法格式为
package pkg1[.pkg2[.pkg3...]];
  • 一般利用公司域名倒置作为包名www.baidu.com com.baidu.www
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包.使用“import”语句即可完成此功能
import package1[.package2...].(classname|*);

javaDoc

在这里插入图片描述

Scanner对象

next()
  1. 一定要读取到有效字符后才可以结束输入.
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
  4. next()不能得到带有空格的字符串
package com.liang.scanner;

import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);

        System.out.println("使用next方式进行接收");
        if(in.hasNext()){//判断用户有没有输入字符串
            String str=in.next(); //输入 hello world
            System.out.println(str); //输出一个hello
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯 用完就关掉
        in.close();
    }
}
nextLine()
  1. 以enter为结束符 也就是说 nextLine()方法返回的是输入回车之前所有字符
  2. 可以获得空白
package com.liang.scanner;

import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        System.out.println("使用nextLine方式进行接收");

        if (in.hasNextLine())  {
            String str1=in.nextLine();//输入 hello world
            System.out.println(str1);//输出 hello world
        }
        in.close();
    }
}

小案例

package com.liang.scanner;

import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);

        double sum=0;

        int shu=0;
        double jun=0;
        System.out.println("请输入您要计算求和 跟平均值的数:");
        while(in.hasNextDouble()){
            double jieshou=in.nextDouble();
            shu=shu+1;
            sum=sum+jieshou;
            jun=sum/shu;
            System.out.println("您输入的第"+shu+"值和为:"+sum+"平均值为"+jun);
        }
        System.out.println("和为:"+sum+"平均值为:"+jun);
    }
}

三大基本结构

顺序结构

一行行进行执行

选择结构

  1. if单选结构 if(){}

  2. if双选结构 if(){}else{}

  3. if多选结构 if(){}else if(){}

  4. 嵌套if结构 if(){ if(){} }

  5. switch多选择结构 switch(){ case1 break case2 break default}

    package com.liang.base;
    
    public class Test5 {
        public static void main(String[] args) {
            char grade ='C';
    
            switch (grade){
                case 'A':
                    System.out.println("优秀");
                    break; //跳出循环
                case 'B':
                    System.out.println("良好");
                    break;
                case 'C':
                    System.out.println("及格");
                    break;
                case 'D':
                    System.out.println("不及格");
                    break;
                default:
                    System.out.println("未知等级");
            }
        }
    }
    
switch语句中的变量类型可以是:
  • byte shotr int char
  • 从javase 7开始 switch支持字符串String类型了
  • 同时case标签必须为字符穿或字面量
package com.liang.base;

public class Test7 {
    public static void main(String[] args) {
        String a="张三";
        switch (a){
            case "张三":
                System.out.println("张三");
                break;
            case "李四":
                System.out.println("李四");
                break;
            default:
                System.out.println("输入错误");
                break;
        }
    }
}
反编译

在这里插入图片描述

循环结构

while循环

在这里插入图片描述

package com.liang.base;

public class Test8 {
    public static void main(String[] args) {
       //计算1+2+3+...+100=?
        int i=0;
        int sum=0;
        while (i<100){
            sum=sum+i;
            i++;
        }
        System.out.println(sum); //答案为5050

    }
}
do…while循环

在这里插入图片描述
在这里插入图片描述

for循环

在这里插入图片描述

package com.liang.base;

public class Test10 {
    public static void main(String[] args) {
        //练习1  计算0--100之间的奇数和 跟偶数和
        int ji=0;
        int ou=0;
        for (int i = 0; i <=100; i++) {
            if(i%2!=0){//奇数
                ji+=i; //ji=ji+i;
            }else{//偶数
                ou+=i;
            }
        }
        System.out.println("奇数和为:"+ji+"偶数和"+ou);// 结果为  奇数和为:2500   偶数和2550



        //练习2 用for循环输出0--100之间能被5整除的数 , 并且每行输出三个
        for (int i = 0; i <= 100; i++) {
            if(i%5==0){
                System.out.print(i+"\t");
            }
            if(i%(5*3)==0){
                System.out.println();
            }
        }
    }
}
乘法口诀表
package com.liang.base;

public class 乘法表 {
    public static void main(String[] args) {
        //九九乘法表

        //1 打印第一列
        //2 我们吧固定的i再用一个循环包裹起来
        //3去掉重复项  i<=j
        //4调整样式
        for (int j = 1; j <=9; j++) {
            for (int i = 1; i <=j; i++) {
                System.out.print(i+"*"+j+"="+(j*i)+"\t");
            }
            System.out.println();
        }
    }
}

在这里插入图片描述

增强for循环

在这里插入图片描述

package com.liang.base;

public class Test11 {
    public static void main(String[] args) {
        int[] numbers={10,20,30,40,50};

        //遍历数组的元素
        for(int x:numbers){
            System.out.println(x);
        }
    }
}

break continue

在这里插入图片描述

package com.liang.base;

public class Test12 {
    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {

            if(i==30){
                break;
            }
            System.out.println(i);//结果只运行到30就停止了
        }
    }
}
package com.liang.base;

public class Test13 {
    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            if(i%10==0){
                System.out.println(); //换行   换行后还继续执行
                continue;
            }
            System.out.print(i);
        }
    }
}

break在任何循环语句的主体部分,均可用break控制循环的流程

break用于强行退出循环 不执行循环中剩余的语句(break语句也在switch语句中使用)

continue 语句用在循环语句体中,用于终止某次循环的过程,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环

练习

打印三角形

package com.liang.base;

public class 三角形 {
    public static void main(String[] args) {
        for (int i = 1; i <=5; i++) {
            for (int j = 5; j >= i; j--) {
                System.out.print(" ");
            }
            for (int j = 1; j <=i; j++) {
                System.out.print("*");
            }
            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

     *
    ***
   *****
  *******
 *********
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值