慢慢懂的第三篇blog

Java day03

变量

数据类型 变量名 = 值;

int a = 10;

变量作用域

  1. 类变量
  2. 实例变量:从属于对象,在类的里面,方法外面,不进行初始化,就是默认值(0 0.0 false null)
  3. 局部变量:从属于类,和类同时存在,同时消失,可以直接使用。
public class helloworld{
  static int allclicks= 0;//类变量,前面要加static
  String str = "hello world ";//实例变量,没有stati
  public void method(){
    int i = 0;//局部变量,在方法内
    /*变量类型   变量名字  = new helloworld();*/
    helloworld helloworld = new helloworld();//使用实例变量
    System.out.println(helloworld.str);
    System.out.println(allclicks);//使用类变量
  }
}

常量

初始化(initialize)之后不能改变!不会变动的值!

定义: final 变量类型 常量名= 值;

​ final double PI=3.14;

static final double PI = 3.14;//static 是修饰符

变量名的命名规范

  1. 所以的变量,方法,类名,都要见名知意
  2. 类成员的变量:首字母小写和驼峰原则:monthsalary lastName
  3. 常量:大写字母和下划线 MAX_VALUE
  4. 类名:首字母大写和下划线 Man,GoodMan
  5. 方法名,首字母小写和驼峰原则 run(); add();

运算符

算术运算符:+,-,*,、,%,++,–

赋值运算符:=

关系运算符:> , < , >= , <= , == , != ,instanceof

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

位运算符:&,|,^, ~ , >> , <<, >>>(了解)

/*
与二进制有关
A=0011 1100
B=0000 1101
------------------
A&B=0000 1100 两个都为1才可得1,否则就是0
A|B=0011 1101 两个都为0才可得0,否则就是1
A^B=0011 0001 两个相同为0,不同为1
~B=1111 0010对B进行取反
----------------
<<  左移==*2
>>  右移==/2效率极高!!
*/

扩展赋值运算符: +=,-= , * =, /=

        int a=10;
        int b=20;
        System.out.println(""+a+b);
        System.out.println(a+b+"");

输出结果如图:在这里插入图片描述

" "在a+b前,a+b会进行拼接,在后面则进行运算

条件运算符:? : (三元运算符)

x ? y : z;如果x==true 则执行y,否则执行z

        int score = 19;
        String type = score>60? "及格":"不及格";
        System.out.println(type);//输出为不及格

包机制

  1. 一般利用公司域名倒置作为包名;com.manman.blog。定义包 package
  2. 为了能够使用一个包的成员,我们需要在Java程序中明确导入该包,使用”import“语句即可完成
import java.util.*;//导入这个包下所有的类

用户交互Scanner

Java提供一个工具类可以获取用户的输入

import java.util.Scanner;

是Java5 的新特征

基本语法:

Scanner sc = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,读取之前一般用hasNext()与hasNextLine判断是否还有输入的数据。

        Scanner scanner = new Scanner(System.in);
        if(scanner.hasNext())
        {
            String str = scanner.next();
            System.out.println(str);
        }
scanner.close;//使用完关闭

next():

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

nextLine():

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白。

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入数字");
        double sum = 0;
        int m = 0 ;
        while (sc.hasNextDouble()){
            m++;
            sum+=sc.nextDouble();21
        }
        System.out.println(m+"个数的和是"+sum);
        System.out.println(m+"个平均值是"+(sum/m));
        sc.close();

输入如图所示,输入yt,不是double类型就会结束循环

在这里插入图片描述

顺序结构

  1. Java最基本的就是顺序结构,除非特别指明,否则就是一句一句执行
  2. 语句与语句之间,框与框之间都是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。

选择结构

if选择结构

if单选择结构

语法:if(布尔表达式){

//如果布尔表达式为true,则执行

}

        Scanner sc = new Scanner(System.in);
        
        String str = sc.next();
        if(str.equals("hello"))
        {
            System.out.println(str);
        }
            System.out.println("不是hello");
        sc.close();
if双选择结构

if(布尔表达式){

//布尔表达式为true执行

}else{

//布尔表达式为false执行

}

import java.util.Scanner;

public class Demon02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();
        if(score>60) System.out.println("及格");
        else System.out.println("不及格");
        sc.close();
    }
}
if多选择结构

if(布尔表达式){

}else if(布尔表达式){

}else if(布尔表达式){

}else{

}


import java.util.Scanner;

public class Demon02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();
        if(score>=60&&score<80) System.out.println("及格");
        else if(score>=80&&score<=99) System.out.println("优秀");
        else if(score==100) System.out.println("满分");
        else if(score<60)System.out.println("不及格");
        else System.out.println("成绩不合法"); 
        sc.close();
    }
}

switch 多选择结构

  1. 多选择结构可以用switch case语句实现
  2. switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
  3. switch变量可以是:byte 、short、int、或者char
  4. switch支持字符串String类型
  5. 同时case标签必须为字符串常量或者字面量
import java.util.Scanner;

public class Demon02 {
    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);
        char alphabet = sc.next().charAt(0);
        switch (alphabet)
        {
            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("输入存在错误");
        }
    }
}

增强for循环

Java5引入一种主要用于数组或集合的增强for循环

语句格式:

for(声明语句:表达式){

//代码

}

public class Demon04 {
    public static void main(String[] args) {
        int[] number ={10,20,30,40};
        for (int x: number){//遍历整个数组,number把里面的值赋值给x,将x输出
            System.out.println(x);
        }
      for(int i=0;i<4;i++){
            System.out.println(number[i]);
      }
    }
}

简单定义一个数组

int[] a={10,30};//推荐使用
int a[]={10,30};
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值