首页 > 编程语言 >JavaSE之java基础语法

JavaSE之java基础语法

时间:2024-05-13 11:43:42浏览次数:15  
标签:运算符 java int 语法 关键字 类型 JavaSE true public

关键字和保留字

关键字定义和特点

定义:被java语言赋予了特殊含义,用作专门用途的字符串。

特点:关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。

用于定义数字类型的关键字
class interface enum byte short
int long float double char
boolean void
用于定义流程的关键字
if else switch case default
while do for break continue
return
用于定义访问权限修饰符的关键字
private protected pubic
用于定义类、函数、变量修饰符的关键字
abstract final staic synchronized
用于定义类与类之间关系的关键字
extends improtants
用于建立实例及引用类型,判断实例的关键字
new this super instanceof
用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import
其他修饰符关键字
native strictfp transient volatile assert
用于定义数据类型值的字面值
true false null

保留字

定义: 现在java尚未使用,但以后版本可能会作为关键字使用。自己使用时应避免使用。

基本数据类型

img

整数类型(int为默认类型)

类型 占用储存空间 表数范围
byte 1字节 -128~127
short 2字节 $-2{15}$~$2$-1
int 4字节 $-2{31}$~$2$-1
long 8字节 $-2{63}$~$2$-1

注意:java的整型常亮默认为int型,声明long型常量须后加 'l'或'L'

浮点类型(double为默认类型)

类型 占用储存空间 表数范围
float 4字节 -3.4e+38 ~ 3.4e+38
double 8字节 -1.79E+308 ~ +1.79E+308

注意:Java 的浮点型常量默认为double型,声明float型常量,须后加 'f'或'F'

字符类型(char)

类型 占用储存空间
char 4字节

注意:char类型是可以进行运算的。因为它都对应有Unicode码。

布尔类型(boolean)

类型 占用储存空间
boolean 1字节

注意:boolean类型数据只允许取值true和false,无null。
boolean类型不可以转换为其它的数据类型。

Java中的转义字符

转义字符 含义
\n 表示换行
\t 表示横向跳格,作用同tab键
\b 表示退格
\r 表示回车
\f 表示走纸换页
\\ 表示反斜杠字符
\’ 表示单引号字符
\” 表示双引号字符
\d 表示八进制字符
\xd 表示十六进制字符
\ud 表示Unicode字符

运算符

算术运算符

算术运算符 名称 举例
+ 加法 5+12=17
- 减法 20-5=15
* 乘法 3*7=21
/ 除法 4/2=2
% 求余 24%7=3
++ 自增1 int i = 5;i++
-- 自减1 int i = 5;i--

自增(自减)运算符:++,–

例:a++;先赋值后运算

int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1

例:++a;先运算后赋值

int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2

赋值运算符

运算符 名称 举例
= 赋值 c=a+b将把a+b得到的值赋给c
+= 加等于 c+=a等价于c=c+a
-= 减等于 c-=a等价于c=c-a
*= 乘等于 c=a等价于c=ca
/= 除等于 c/=a等价于c=c/a
%= 模等于 c%=a等价于c=c%a

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

比较运算符 名称 举例 结果
> 大于 a=5;b=2;a>b; true
< 小于 a=5;b=2;a<b; false
>= 大于等于 a=5;a>=3; true
<= 小于等于 a=5;b=2;b<=a; true
== 等于 a=5;b=2;a==b; false
!= 不等于 b=2;b!=2; false

注意:
1.>、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2.== 、 != 两边的操作数既可以是数值类型,也可以是引用类型
3.== 比较基本数据类型时,比较的是值。比较引用数据类型时比较的是地址。

逻辑运算符

逻辑运算符 名称 举例 结果
&& a&&b 如果a与b都为true,则返回true
|| a||b 如果a与b任一为true,则返回true
! !a 如果a为false,则返回true,即取反
^ 异或 a^b 如果a和b有且只有一个为true,则返回true

“&”和“&&”的区别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

位运算符

位运算符 含义
<< 空位补0,被移除的高位丢弃,空缺位补0。
>> 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
>>> 被移位二进制最高位无论是0或者是1,空缺位都用0补。
& 二进制位进行&运算,只有1&1时结果是1,否则是0;
| 进制位进行|运算,只有0|0时结果是0,否则是1;
^ 相同二进制位进行运算,结果是0;11=0,00=0不相同二进制位运算结果是1。10=1.01=1
~ 正数取反,各二进制码按补码各位取;反负数取反,各二进制码按补码各位取反

三元运算符

语法形式:布尔表达式 ? 表达式1:表达式2
布尔表达式为true,运算结果为表达式1。反之,结果为表达式2。

int a = (10>3) ? 5 : 10;//10>3为true,a=5
int a = (10<3) ? 5 : 10;//10<3为false,a=10

程序流程控制

结构化程序设计中规定的三种基本流程结构,分别为:顺序结构,分支结构,循环结构。

顺序结构

程序由上向下执行。

public class Test{
        int num1 = 12;
        int num2 = num1 + 2;
}//java中定义成员变量时采用合法的向前引用。

分支语句if-else

public class Test{
  int a = 1;      
  if(a>1){
    ...
  }else{
    ...
  }
}//java中定义成员变量时采用合法的向前引用。

分支语句switch-case

public class SwitchTest {
    public static void main(String args[]) {
        int i = 1;
        switch (i) {
        case 0:
            System.out.println("one");
            break;
        case 1:
            System.out.println("two");
            break;
        default:
            System.out.println("other");
            break;
        }
    }
}

循环结构

循环结构:for循环

public class ForLoop {
    public static void main(String args[]) {
        int result = 0;
        for (int i = 1; i <= 100; i++) {//1.初始化部分 2.循环条件部分 3.迭代部分
            result += i;//循环体部分
        }
        System.out.println("result=" + result);
    }
}

循环结构:while循环

public class WhileLoop {
    public static void main(String args[]) {
        int result = 0;
        int i = 1;//1.初始化部分
        while (i <= 100) {//循环条件
            result += i;//循环体部分
            i++;//迭代部分
        }
        System.out.println("result=" + result);
    }
}

循环结构:do-while循环

public class DoWhileLoop {
    public static void main(String args[]) {
        int result = 0, i = 1;//初始化部分
        do {
            result += i;//循环体部分
            i++;//迭代部分
        } while (i <= 100);//循环条件部分
            System.out.println("result=" + result);
        }
}

特殊关键字break,continue

break语句

break语句用于终止某个语句块的执行

public class BreakTest{
		public static void main(String args[]){
	    for(int i = 0; i<10; i++){ 
	     	if(i==3)
		      break;//当条件成立时,终止for循环	
	    	System.out.println(" i =" + i);
	    }
	    System.out.println("Game Over!");
		}
}

continue语句

continue只能使用在循环结构中
continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环

public class ContinueTest {
	public static void main(String args[]){
	     for (int i = 0; i < 100; i++) {
	      	  if (i%10==0)
			        continue;//跳出成立的循环
		      System.out.println(i);
		  }  
    }  
} 

参考资料

标签:运算符,java,int,语法,关键字,类型,JavaSE,true,public
From: https://www.cnblogs.com/codexj/p/18188901

相关文章

  • 软工计算1—Java篇1 20240513
    Java中的函数重载函数重载(FunctionOverloading)是面向对象编程中的一个概念,它允许在同一个类中定义多个同名函数,但这些函数的参数列表必须不同。参数列表的不同可以体现在参数的类型、数量或顺序上。函数重载使得程序设计更加灵活,可以针对不同的参数类型或数量提供不同的函数实现......
  • Java 高效获取两个List中不同的元素集合
    /***借助Map来获取listA、listB的不同元素集合**@paramlistA集合A*@paramlistB集合B*@returnlist<String>不同元素集合*/publicstaticList<String>getDifferListByMap(List<String>listA,List<String>listB){List<String>differList=new......
  • 【问题解决】java.lang.NoSuchMethodError错误
    问题现象近期本人负责的一个SpringBoot模块出现了java.lang.NoSuchMethodError报错,问题情况如下:A类提供了setJumpType(Stringtype),B类调用A类的setJumpType(Stringtype)报错java.lang.NoSuchMethodError:com.xxx.A.setJumpType(Ljava/lang/String;)V在之前的发版的程序中,B......
  • 干了 2 年多 Java 外包,终于脱离了!
    大家好,我是R哥。金三银四结束了,上个月分享了一个35K入职的面试辅导案例:35K*14薪入职了,这公司只要不裁员,我能一直呆下去。。今天再分享一个上个月让人很有成就感的面试辅导case:外包、空窗四个月、薪资10k、996——>甲方公司、薪资15k、早九晚六(WLB),从报名面试辅导后,从......
  • 使用Lambda表达式和接口的简单Java 8 Predicate示例
    大量的Java编程涉及到对真或假值的评估,从条件语句到迭代循环。当您使用JDK的StreamsAPI和Lambda函数时,可以使用备受欢迎的JavaPredicate接口来简化布尔条件的评估。也被称为Java8Predicate(源自引入函数式编程的JDK版本),这个简单的接口定义了五个方法,尽管只有JavaPredicate的t......
  • java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBea
    简介前排提示:这个错误一般是由于Spring新版本导致的与其他框架不兼容现象,解决办法一般是升级其他框架版本。使用springboot-3.2.5和myabtis-plus-3.5.0搭建开发环境时,启动Springboot程序时报错,报错信息:点击查看代码java.lang.IllegalArgumentException:Invalidvalu......
  • 音乐格式转换:java代码实现
    1packageutil;23importws.schild.jave.*;4importjava.io.File;56/*7音乐格式转换8<dependency>9<groupId>ws.schild</groupId>10<artifactId>jave-core</artifactId>11<version>2.4.4</versi......
  • 基础语法
    基础语法设置个性化设置java中的注释1.单行注释​ ////2.多行注释​ /*​ */3.文档注释​ /**​ *@​ *​ */标识符关键字注意点:●所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始●首字符之后可以是字母(A-Z或者a-z),美元符......
  • JavaScript中的 '===' 和 '=='
    在JavaScript中,== 和 === 都是用于比较值的相等性的运算符,但是它们的行为略有不同。== 运算符用于比较值的相等性,而不考虑它们的数据类型。这意味着如果两个值的值相等,即使它们的数据类型不同,它们也会被认为是相等的。例如,== 会将字符串 "123" 与数字 123 视为相等。......
  • Java面试题:线程池内“闹情绪”的线程,怎么办?
    在Java中,线程池中工作线程出现异常的时候,默认会把异常往外抛,同时这个工作线程会因为异常而销毁,我们需要自己去处理对应的异常,异常处理的方法有几种:在传递的任务中去处理异常,对于每个提交到线程池中的执行的任务,可以提前通过异常进行捕获,这样即便出现了异常,也不会影响线程池中的......