JavaSE第二章.基础语法

注释

使用的特定的符号标记的内容,对代码功能的解释

// 单行注释

/*
多行注释
*/

/**
文档注释 用于为类,成员变量,方法的功能进行说明,在调用时可以提示
*/

关键字

java中被赋予特定含义的单词、主要用来修饰包、类、变量、方法

标识符

对包、类、变量、方法等进行命名的字符序列 通俗讲自己可以命名的名称

命名需要遵守规则:

语法强制规范:

大小写字母,数字,下划线 $

数字不能开头;不能是关键字;不能有空格;区分大小写

Java变量

程序中基本的存储单元,运行时值可变.

声明变量:

[修饰符] 数据类型 变量名 [=值];

数据类型

基本数据类型:byte、short、int、long、float、double、char、boolean

引用数据类型

基本数据类型转换

基本数据类型之间的转换

除了boolean型,其他7种之间可以进行相互转换

默认转换
byte,short,char–>in–>long–>float–>double
容量小的数据类型 默认自动转为容量大的

容量大的 转为 容量小的
可以强制类型转换
会出现问题:数据溢出、精度损失

public class Demo5 {

    public static void main(String[] args) {
          byte b=127;
          int c= 2147483647;
          long d = c;
          float f = d;

          int x = 258;
          byte y = (byte)x;
        System.out.println(y);

          float m = 10.5F;
          long n = (long)m;
        System.out.println(n);

    }

算术运算符

算术运算符
+ - * / % ++ --
+ 加法  字符串连接
- * / % 只能进行算数运算

int i = 1;
i=i++;
sout(i)=1

public class OperateDemo1 {
    //java程序的入口/主方法/主线程
    public static void main(String[] args) {
             int a = 10;
             int b = 5;
             char c  = 'd';//100
             String d = "100";
             String e = "aa";
        System.out.println(a+b);
        System.out.println(a+c);//整数+char(int)
        System.out.println(a+b+d);// 数值+(连接)字符串==字符串
        System.out.println(d+e);//字符串+字符串=字符串
        System.out.println(a-b);
        System.out.println(a-c);
        //System.out.println(a-d);

        //++  每++一次 在原来的基础上+1 再赋值
        //单独使用时++在前/后没有区别,在混合运算时++在前先自增后运算,反之则先运算后自增
        // --
        int x = 5;
            //x++;//x=x+1  6
            //++x;//x=x+1  7
        //int y = x++;
        int y = ++x;
        System.out.println(x);//6
        System.out.println(y);//6
    }
}

比较运算符

/*
   比较运算符
   ==
   !=  数值,布尔,引用类型
   > < >= <= 适用于数值类(char)
   instanceof 类型检测
 */
public class OperateDemo2 {

    //java程序的入口/主方法/主线程
    public static void main(String[] args) {
        //==
        int a = 10;
        int b = 5;
        boolean c = true;
        boolean d = false;
        String e = "abc";
        String f = "efg";
        System.out.println(a==b);
        System.out.println(c==d);
        System.out.println(e==f);
        //!=
        System.out.println(a!=b);
        System.out.println(c!=d);
        System.out.println(e!=f);

       /* System.out.println(e>f);
        System.out.println(c>e);*/

        Object x = 10;
        //Object类型可以表示任何类型,但是实际表示的是哪种类型呢?
        System.out.println(x instanceof Integer);
    }
}

逻辑运算符

/*
    逻辑运算符
     &       |        !     ^  可以参与逻辑运算还可以参与位运算
     逻辑运算: true & false
     位运算: 二进制bit位运算  6 & 3

     &&(短路与)   ||(短路或)

 */
public class OperateDemo3 {

    //java程序的入口/主方法/主线程
    public static void main(String[] args) {
         int a = 10;
         int b = 5;
         int c = 6;
         int d = 20;

       /* //& 左右都为true 结果为true  遇到第一个false时,后面的表达式继续执行
        System.out.println(a>b&b<c);//true & true = true
        System.out.println(a>b&b>c);//true & false = false
        System.out.println(a<b&b>c);//false & false = false

        //&&左右都为true 结果为true   遇到第一个false时,就发生短路,后面的表达式就不在执行了
        System.out.println(a>b&&b<c);//true && true = true
        System.out.println(a>b&&b>c);//true && false = false
        System.out.println(a<b&&++b>c);//false && false = false
        System.out.println(b);*/

        //| 只要有一为true 结果为true
        System.out.println(a>b|b<c);//true | true = true
        System.out.println(a>b|b>c);//true | false = true
        System.out.println(a<b|b>c);//false | false = false

        //||只要有一为true 结果为true 只要遇到第一个true 后面的表达式就不行了
        System.out.println(a>b||b<c);//true || true = true
        System.out.println(a>b||++b>c);//true || false = true
        System.out.println(a<b||b>c);//false || false = false
        System.out.println(b);

       /* //!
        System.out.println(!(a>b));
        
        //^  异或运算  相同为false  不同为true
        System.out.println(a>b^b<c);//true ^ true = false
        System.out.println(a>b^b>c);//true ^ false = true
        System.out.println(a<b^b>c);//false ^ false = false*/
    }
}

赋值运算

/*
   赋值运算符
   =  注意在赋值时,值的类型与声明的变量类型一致.
      牵扯到数据类型的转换(基本类型之间) 自动转换,强制转换
   扩展赋值运算
   +=
   -=
   *=
   /=
   %=
 */
public class OperateDemo4 {

    //java程序的入口/主方法/主线程
    public static void main(String[] args) {

         byte a = 12;//隐式的将int12 转为 byte
         int b = a;
         short c = (short)b;

         float d = 10.5f;
         int e = (int)(c+b+d);//混合运算时,数据类型默认会转为表达式中最大的类型

       /* int x = 5;
        long y = 10;
            x += y; // x=x+y
        System.out.println(x);*/

        short s = 3;
              //s=s+2; s = short+ int = int
              s+=2;//隐式转换 short + int = short


    }

条件运算符

/*
     条件运算符(3元运算符)
      类型  结果 = (条件表达式)?表达式1:表达式2
       必须返回一个结果,结果的类型与定义结果类型一致

      if(条件){
        ssss
      }else{
        ssss
      }
 */
public class OperateDemo5 {

    //java程序的入口/主方法/主线程
    public static void main(String[] args) {

         int score = 70;

        String res = (score>=60)?"考试及格":"挂科";
        System.out.println(res);

    }
}

位运算

/*
    位运算符, 二进制的bit位的运算
    <<
    >>
    >>>
    &
    |
    ^
    ~
 */
public class OperateDemo6 {

    //java程序的入口/主方法/主线程
    public static void main(String[] args) {
       // <<  010  左移1位  100  乘法
       //int a  = 2;
        //System.out.println(a<<2);

        //带符号
       //>> 0000 0011 右移 1位
       //>> 1000 0011 右移 1位
       //int b = -6;
        //System.out.println(b>>1);

        //>>> 无符号右移 0100 0011 右移 1位  最高位只需要补0
        //System.out.println(b>>>1);

        /*
          & 按位与
            0000 0110
          & 0000 0011
                 0010
         */
        /*int a = 6;
        int b = 3;
        System.out.println(a&b);*/


         /*
          | 按位或
            0000 0110
          | 0000 0011
                 0111
         *//*
        int a = 6;
        int b = 3;
        System.out.println(a|b);*/

        /*
          ^ 按位或
            0000 0110
          ^ 0000 0011
                 0101

           0000 0101
           0000 0110
                0011
         */
        int a = 6;
        int b = 3;

            a=a^b;
            b=a^b;
            a=a^b;
        System.out.println(a);
        System.out.println(b);


        //~  按位取反
    }

表达式的运算顺序

在这里插入图片描述

控制台输入

System.out.println("请输入");
Scanner scanner = new Scanner(System.in);
int a =scanner.nextInt();
System.out.println("你输入的数据为:"+a);

条件控制

if

​ if…else

​ if…else if…else

switch

Java5以前switch(expr)中,expr 只能是 byte、short、char、int
从Java 5开始,Java中引入了枚举类型
从Java 7开始,expr还可以是String,但是long在目前所有的版本中都是不可以的。

int i = 5;
        switch (i){
            case 5:
                System.out.println("是个5");
                break;
            case 10:
                System.out.println("是个10");
                break;
            case 4:
                System.out.println("是个4");
                break;
            default:
                System.out.println("默认值");
                break;
        }

循环语句

while

属于前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。其实就是先与while里面的条件进行判断,成立就走循环体内的代码,不成立就不走循环体内代码。循环体内的代码有可能永远不会执行。

do while

后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。其实就是,代码在刚开始执行的时候,都是要先走一遍do循环体内的代码,然后在与while里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环。循环体内代码至少被执行一次。

for

for(表达式1,表达式2,表达式3){语句}

执行过程 : 首先计算表达式1,接着执行表达式2,若表达式2的值 = true,则执行循环语句,接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false.

			public static void main(String[] args) {
                int x = 1;
                for(show('a'); show('b') && x<3; show('c')){
                    show('d');
                    x++;
                }
            }

            public static boolean show(char ch){
                System.out.print(ch);
                return true;
            }

结果:abdcbdcb

break

break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;

int stop = 4;
        for (int i = 1; i <=10 ; i++) {  //当i等于stop时跳出循环
            if(i==stop){
                break;
            }
            System.out.print(i);
        }

结果:123

continue

continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue 语句下面未执行的循环,开始下一次循环过程;

int stop = 4;
        for (int i = 1; i <=10 ; i++) {  //当i等于stop时跳过该次循环
            if(i==stop){
                continue;
            }
            System.out.print(i);
        }

结果:1235678910

java方法

  • Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合, 方法包含于类或对象中.
  • 方法在程序中被创建,声明格式:
    [访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){
    Java语句;… … …
    [return 返回值;]
    }

• 修饰符:这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

• 形式参数: 在方法被调用时用于接收外界输入的数据。

• 实参:调用方法时实际传给方法的数据。

• 返回值:方法在执行完毕后返还给调用它的环境的数据。

• 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。

19.return

return语句用于从当前执行的方法中退出, 返回到调用该方法的语句处继续执行。

有两种格式:

return 表达式; //将表达式的值返回

return; //不返回任何值,当方法说明中用void声明无返回值时, 可以使用这种格式,此类return语句有时可省略

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EnndmeRedis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值