JavaSE基础语法2

JavaSE基础语法2

运算符

算术运算符

+:加法运算 数值+数值 数值+字符

​ 连接 字符串+字符串 字符串+数值

-:减法运算

*:乘法运算

/:除法运算

%:取余

++:自增

–:自减

单独的++ --,++x x++没有区别;

在混合运算中,++在前先自增后运算,++在后先运算后自增。

public class Demo1 {
    public static void main(String[] args) {
        int x=5;
        int y= ++x +1;//++在前先自增后运算
        System.out.println(x);//6
        System.out.println(y);//7
    }
}
public class Demo2 {
    public static void main(String[] args) {
        int x=5;
        int y= x++ +1;//++在后先运算后自增
        System.out.println(x);//6
        System.out.println(y);//6
    }
}

关系(比较)运算符

< ,>,<=,>=只能进行数值之间的比较;

==,!=能进行数值之间的比较,还可以进行逻辑值与逻辑值之间的比较、引用类型之间的比较。

逻辑运算符

进行逻辑值与逻辑值之间的运算。

& (逻辑与):所有表达式为true,结果为true;出现第一个false,继续执行后面的表达式,结果为false。

&&(短路与):所有表达式为true,结果为true;出现第一个false,整个表达式短路,结果为false。

|(逻辑或):表达式中有一个为true,结果为true;出现第一个true,继续执行后面的表达式,结果为true。

||(短路与):表达式中有一个为true,结果为true;出现第一个true,整个表达式短路,结果为true。

!=(逻辑非)

^(异或):相同为false,不同为true。

赋值运算符

=:把右边的值赋给左边。

数据类型 变量 = 值; (注意数据类型,注意区分= ,==的区别)

+=,-=,*=,/=,%= 赋值运算(会隐式的数据类型转换)

public static void main(String[] args) {
    short s = 3;
    s=s+2; //报错,s+2上升为int类型
    s+=2; //隐式类型转换 s=(short)(s+2)
 }

条件运算符

语法:
(条件表达式)? 表达式1:表达式2;
条件表达式结果为true执行表达式1; 为false执行表达式2

位运算

bit位进行运算。

 public static void main(String[] args) {
     int a=10System.out.println(a<<1); // <<:二进制bit位向左移位
     System.out.println(a>>1); // >>:二进制bit位向右移位
     System.out.println(a<<1); // >>>:二进制bit位向右移位,无符号右移(注意负数,移位后把默认补0)
 }

&:二进制bit位&运算,只有1&1时结果是1,否则是0。

|:二进制位进行 | 运算,只有0 | 0时结果是0,否则是1。

^:相同结果是0;不相同结果是1。

~:正数取反,各二进制码按补码各位取反;负数取反,各二进制码按补码各位取反。

控制台输入

仅在javaSE测试程序时使用;

向程序中输入数据,java提供了一个类Scanner。

import java.util.Scanner;//导入java核心类库中的Scanner
/*通过类去创建一个对象(具体的可以使用的,对象在内存中存储)*/
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//System.in获得输入流对象
        System.out.println("请输入年龄");
        String name =  scanner.next();//读入的内容是一个字符串,程序执行到此的时候,会等待控制台输入,按回车键表示输入完成,继续向下运行
        System.out.println("年龄是"+name);
    }
}

流程控制语句

条件语句

if选择语句

多路分支选择,条件更灵活。

if(条件表达式){条件表达式为真执行的代码块}
if(条件表达式){条件表达式为真执行的代码块} else{条件表达式为假执行的代码块}
if(条件表达式1){} else if(条件表达式2){} else if(条件表达式n){} else{}

不建议if else语句省略{},省略后,if else只对紧跟的那一行代码有效;

if else语句满足一个条件,流程自动结束。

public class IFDemo {
    public static void main(String[] args) {
        int w = 3;
        if(w==1){
            System.out.println("星期一");
        }
        else if(w==2){
            System.out.println("星期二");
        }
        else if(w==3){
            System.out.println("星期三");
        }
        else if(w==3){
            System.out.println("星期三");//满足一个条件,流程自动结束,故只输出一个星期三
        }
        else{
            System.out.println("无效日起");
        }
    }
}
switch语句

多路分支选择,适用于一些固定选项的选择,在固定选项执行中,效率高。

switch(表达式){
    case1:代码块;[break];
    case2:代码块;[break];
    case 值n:代码块;[break];
    default:默认代码块;
}

表达式值类型:byte,short,int,char,枚举,String;

值1,值2,…,值n:必须是字面量(常量),值不能重复;

匹配的case语句块执行完成后,如果没有break语句结束,则继续执行下一个case,直到遇到break;

如果没有表达式匹配的的选项,则执行default语句;

没有default则结束switch语句;

switch语句可以实现的,if语句都可以实现,反之则不行。

循环语句

满足某种条件,一直重复做某件事情。

循环语法格式:

循环变量初始化,进入循环条件,循环体(循环中要执行的代码),循环变量的更新

循环方式:

while(进入循环的条件){  //while先条件判断,不成立就不能进入循环
    循环体;
}

do{                  //先执行,后判断,即使条件不成立,也会执行一次
    循环体;
}while(循环条件);

for(变量初始化;条件;更新变量){  //变量初始化执行一次
    循环体;
}

break和continue

break:终止循环,只能终止当前所在的那层循环;

continue:跳过某一次循环

/*在内层循环中,结束外层循环*/
outer:for(int i=1;i<=4;i++){ //为循环定义一个标记
    for(int j=1;j<=5;j++){
        if(j==3){
            break outer;
        }
        System.out.print("*");
    }
    System.out.println();
}

方法

方法:类似于c语言中的函数,解决某一个问题,而编写的代码组合;

属于类或对象。

main方法:是java程序的入口,启动java的主线程。

public static void main(String[] args) {}

static修饰方法属于类,可以直接通过类名调用;不加static修饰,方法属于对象,需要通过对象调用。

语法格式:

[访问权限修饰符 修饰符] [返回值类型] 方法名(形式参数类型 参数名){
代码块;
[return 返回值;]
}

public class Run {    
    public static void main(String[] args) {      
        MethodDemo.multi();//类名只能调用static修饰的方法  
        
        //创建MethodDemo类的一个对象(具体的一个实际存在的实例)     
        MethodDemo m = new MethodDemo();       
        m.print(5);    
    }
}

方法如果有返回值,必须声明返回值的类型;

return后面没有值的时候,只表示方法终止,不表示方法没有返回值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值