java基本语法

Java的基本语法

1、关键字和保留字

关键字

 		1. 定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词)	
 		2. 特点:关键字中所有的字母都为小写

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

保留字

​ 现有的Java版本尚未使用,但后续版本可能会作为关键字使用,自己标识符要避免使用。eg :goto、const

2、标识符(Identifier)

1.定义

​ Java中对各种变量、方法和类命名时使用的字符序列成为标识符

2.标识符命名规则

  • 由26个字母大小写、数字、_ 或 $组成

  • 数字不能开头

  • 不能使用关键字或保留字,但可以包含

  • 严格区分大小写,长度无限制

  • 标识符不能包含空格

3.标识符的命名规范

  • 包名:多单词组成时所有字母都要小写:xxssaa
  • 类名、接口名:多单词组成时要遵守大驼峰命名法,每个单词首字母大写:AaaDdd
  • 变量名、方法名:多单词组成时要遵守小驼峰命名法,除了第一个单词的首字母不大写,后面的单词都要大写:ssAaFf
  • 常量名:所有字母大写,每个单词都要用_连接:XXX_YYY_ZZZ

3、变量

1.定义

​ 内存中的一个存储区域,区分类型。变量是程序的最基本的单位,包含变量类型 + 变量名 +变量值

2.格式

​ 数据类型 变量名 = 变量值;

//声明一个整形变量并赋值,注意两者的顺序,先定义后引用
int first = 10;   //声明
System.out.println(first);  //引用

3.注意点

​ 区分作用域,可分为局部变量和全局变量

​ 同一个作用域不能定义同一个变量名

4.数据类型

  • 基本数据类型

    • 数值型

      • 整数类型(byte,short,int,long)

      • 在这里插入图片描述

      • 浮点类型(float,double)

      • 在这里插入图片描述

    • 字符型(char)

      • 1字符 = 2字节 = 16bit

      • 定义时是用单引号 ’ ’

      • 内部只能声明一个字符

      • 转义字符在这里插入图片描述

      • 直接使用Unicode值来表示字符型常量

      • ASCLL码(字符集)表示字符

        char c = '2';
        
    • 布尔型(boolean)

      • 分为两种(用于判断)
        • true
        • false
  • 基本数据类型之间的运算规则

    • 自动类型提升(自动类型转换)

      在这里插入图片描述

    • 强制类型提升

      • 自动类型提升的逆运算

      • 在数值前加上括号和强转的类型

        double d = 12;
        int i = (int) d;
        //强转可能会产生精度损失
        

        **boolean类型不能转化为其他数据类型

  • 引用数据类型

    • 类(class)

      • 字符串类型(String)

        • 声明String变量类型时使用双引号(英文)""

        • 可以和八种基本数据类型变量做运算,只能做连接运算(+:连接符),运算的结果还是String类型

        • 将String类型强转为七种(String类型不能转化为char类型变量,只能转为char数组)基本数据类型需要用包装类

          public class test {
              public static void main(String[] args) {
                  String str = "6";
                  int i = Integer.parseInt(str);
                  byte b = Byte.parseByte(str);
                  short s = Short.parseShort(str);
                  double d = Double.parseDouble(str);
                  float f = Float.parseFloat(str);
                  boolean bn = Boolean.parseBoolean(str);
                  long l = Long.parseLong(str);
                  System.out.println(i);
                  System.out.println(b);
                  System.out.println(s);
                  System.out.println(d);
                  System.out.println(f);
                  System.out.println(bn);
                  System.out.println(l);
              }
          }
          //文档注释
          /**
          String类型变量转化为char类型变量的方法
          1.如果字符串类型变量值含有分隔符,则使用分割符:split()
          2.如果字符串类型变量值就是单纯的“abc”,则使用toCharArray()
          */
          
    • 接口(interface)

    • 数据([]array)

4、运算符

1.算术运算符

 [

  • 取模运算正负由被模数控制(与被模数的符号相同),开发中一般用来判断数值是否被除尽

2.赋值运算符

  • 符号:=
  • 支持连续赋值
  • 扩展赋值运算符:+=(先加后赋值),-=(先减后赋值),*=(先乘后赋值),/=(先除后赋值),%=(先取模后赋值),不会改变变量本身的数据类型

3.比较运算符(关系运算符)

  • 在这里插入图片描述

4.逻辑运算符

  • 在这里插入图片描述

  • 在开发中推荐使用&&,引文&在左边为false的时候还会执行右边的运算。| 和 ||与& 和 &&相似

5.位运算符

  • 在这里插入图片描述

  • 左移<<:就是移多少位就乘2的几次幂(在一定范围内)

  • 右移>>:就是移多少位就除2的几次幂(在一定范围内)

  • 与运算&:换算成二进制进行且运算,全是1才是1

  • 或运算|:换算成二进制进行或运算,有1就是1

  • 异或运算^:换算成二进制进行异或运算,相同为1,不同为0

  • 取反运算:换算成二进制进行取反,连同符号位都取反(32位)

  • 在这里插入图片描述

6.三元运算符

  • 在这里插入图片描述

  • 凡是可以使用三元运算符的都可以改写成if-else语句,反之,不成立

7.运算符的优先级

在这里插入图片描述

5、程序流程控制

  1. 顺序结构

    • 程序从上往下逐行地执行,中间没有任何判断和跳转
  2. 分支结构

    • 根据条件选择性的执行程序代码

    • 分为两种分支语句:if - else 和 switch - case

      • if - else 的三种语法格式

        //第一种格式
        if(条件表达式){
        	执行代码块
        }
        //第二种格式
        if(条件表达式){
        	执行代码块1
        }else{
        	执行代码块2
        }
        //第三种格式
        if(条件表达式){
        	执行代码块1
        }else if(条件表达式) {
        	执行代码块2
        	.........
        }else{
        	执行代码块n
        }
        
      • switch - case的语法格式

        switch(表达式){
            /*
            表达式只能式6种类型:byte、short、char、int、String类型、枚举类型
            */
            case 常量1: 语句;
                //break;
            case 常量2: 语句;
                //break;
            case 常量3: 语句;
                //break;
                .......
            case 常量n: 语句;
                //break;
            default: 语句;
        }
        

        凡是可以使用switch - case 的都能用if - else ,反之,则不行。一般优先使用switch - case

循坏结构

  • for循环

    for(初始化条件;循环条件;迭代条件){
    	循环体;
    }
    
  • while循环

    初始化条件
    while(循环条件){
    	循环体;
        迭代条件;
    }
    //for和while循环可以相互转化的
    
  • do{} - while()循环

    初始化条件
    do{
        循环体;
        迭代条件;
    }while(循环条件)
    //至少会执行一次循环体
    
  • break 和 continue 关键字的用法

    • break

      • 在switch - case 循环和循环结构里面使用
      • 结束当前循环
    • continue

      • 在循环结构种使用
      • 结束本次循环
    • 两者相同点

      • 两者执行之后后面的语句都不能执行

      • 在嵌套循环中可结束指定for循环,指定的循环前面加一个标签,比如:

        lable:for(int i = 0; i<10; i++){  //lable:是用来标识for循环,可以自定义名称
            for(int j = 0; j<10; j++){
                if(j % 4 == 0){
                    break lable; //结束指定for循环
                }
            }
        }
        
        //例题:
        public class Test1 {
            public static void main(String[] args) {
                int count = 0; //初始化质数个数
                long start = System.currentTimeMillis(); //获取计算质数前的时间点
                lable:
                for (int i = 2; i <= 100000; i++) {
                    for (int j = 2; j <= Math.sqrt(i); j++) {
                        if (i % j == 0) {
                            continue lable;  //指定跳过本次循环
                        }
                    }
                    count++;
                }
                long end = System.currentTimeMillis();  //获取计算质数后的时间点
                System.out.println("质数的个数为:" + count);
                System.out.println("所花费的时间为:" + (end - start));
            }
        }
        
        
  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

super 琪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值