2024年Java最全JavaSE基础-(2)Java基础语法:Hello World,面试看这个就够了

最后

很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。

我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。

不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

| 运算符 | 描述 | 例子 |

| — | — | — |

| + | 加 | 1+1-2 |

| * | 减 | 2-1=1 |

| * | 乘 | 2*5=10 |

| / | 除 | 10/2=5 |

| ++ | 自增 | int a=1;a++ or ++a =2 |

| – | 自减 | int a=1;–a or a-- =0 |

| % | 取余 - 左操作数除以右操作数的余数 | 24%=3 |

实例:

public class Test1{

public static void main(String[] args){

int a = 3;

int b = 3;

int x = 2*++a;

int y = 2*b++;

System.out.println(“自增运算符前缀运算后a=”+a+“,x=”+x);

System.out.println(“自增运算符后缀运算后b=”+b+“,y=”+y);

}

}

结果:

自增运算符前缀运算后a=4,x=8

自增运算符后缀运算后b=4,y=6

关系运算符


关系运算符:关系运算符有6种关系,分别为小于、大于、小于等于、大于等于、等于、不等于。比较的结果是一个布尔值( true 或 false )

| 运算符 | 描述 | 例子 | 结果 |

| — | — | — | — |

| > | 大于 | 2>1 | true |

| >= | 大于等于 | 2>=1 | true |

| < | 小于 | 2<1 | false |

| <= | 小于等于 | 2<=1 | true |

| == | 等于 | 2==1 | false |

| != | 不等于 | 2!=1 | true |

逻辑运算符


逻辑运算符:主要用于进行逻辑运算,连接两个Boolean值,代表两个条件

假设布尔变量A为真,变量B为假

| 运算符 | 描述 | 例子 | 结果 |

| — | — | — | — |

| && | 与 | (A && B) | false |

| II | 或 | (AIIB) | true |

| ! | 非 | !(A && B) | true |

| ^ | 异或 | 2<=1 | (A ^ B) |

异或:有且只能有一个为true

实例:

public class Test2 {

public static void main(String[] args) {

boolean a = true;

boolean b = false;

System.out.println("a && b = " + (a&&b));

System.out.println("a || b = " + (a||b) );

System.out.println("!(a && b) = " + !(a && b));

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

}

}

结果:

a && b = false

a || b = true

!(a && b) = true

(a^b) = true

赋值运算符


赋值运算符:基本的赋值运算符是“=”。他的优先级别低于其他的运算符,所以对该运算符往往最后读取。

| 运算符 | 描述 | 例子 | 结果 |

| — | — | — | — |

| = | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B | 将把A + B得到的值赋给C |

| + = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A | 等价于C = C + A |

| - = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A | 等价于C = C - A |

| * = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A | 等价于C = C * A |

| / = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A | C 与 A 同类型时等价于 C = C / A(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 |

| << = | 左移位赋值运算符 | C << = 2 | 等价于C = C << 2 |

| >> = | 右移位赋值运算符 | C >> = 2 | 等价于C = C >> 2 |

| &= | 按位与赋值运算符 | C&= 2 | 等价于C = C&2 |

| ^ = | 按位异或赋值操作符 | C ^ = 2 | 等价于C = C ^ 2 |

| I= | 按位或赋值操作符 | C I= 2 | 等价于C = C I2 |

位运算符


位运算符:位操作是程序设计中对位模式按位或二进制数的一元和二元操作。在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。

| 运算符 | 描述 | 例子 | 结果 |

| — | — | — | — |

| & | 如果相对应位都是1,则结果为1,否则为0 | (A&B) | -得到12,即0000 1100 |

| I | 如果相对应位都是 0,则结果为 0,否则为 1 | - (A | B) |

| ^ | -如果相对应位值相同,则结果为0,否则为1 | -(A ^ B) | -得到49,即 0011 0001 |

| 〜 | -按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | -(〜A) | -得到-61,即1100 0011 |

| << | -按位左移运算符。左操作数按位左移右操作数指定的位数 | -A << 2 | -得到240,即 1111 0000 |

| >> | -按位右移运算符。左操作数按位右移右操作数指定的位数 | -A >> 2 | -得到15即 1111 |

| >>> | -按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 | - A>>>2 | -得到15即0000 1111 |

实例:

//来源https://www.runoob.com/java/java-operators.html

public class Test2 {

public static void main(String[] args) {

int a = 60; /* 60 = 0011 1100 */

int b = 13; /* 13 = 0000 1101 */

int c = 0;

c = a & b; /* 12 = 0000 1100 */

System.out.println("a & b = " + c );

c = a | b; /* 61 = 0011 1101 */

System.out.println("a | b = " + c );

c = a ^ b; /* 49 = 0011 0001 */

System.out.println("a ^ b = " + c );

c = ~a; /*-61 = 1100 0011 */

System.out.println("~a = " + c );

c = a << 2; /* 240 = 1111 0000 */

System.out.println("a << 2 = " + c );

c = a >> 2; /* 15 = 1111 */

System.out.println("a >> 2 = " + c );

c = a >>> 2; /* 15 = 0000 1111 */

System.out.println("a >>> 2 = " + c );

}

}

结果:

a & b = 12

a | b = 61

a ^ b = 49

~a = -61

a << 2 = 240

a >> 2 = 15

a >>> 2 = 15

其他运算符


条件运算符(?:):件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

实例:

public class Test3 {

public static void main(String[] args) {

//x ? y : z

//如果x==true,则结果为y,否则结果为z

int score = 80;

String type = score < 60 ? “不及格”:“及格”;//必须掌握

//if

System.out.println(type);

// System.out.println(type);​

int score1 = 50;

String type1 = score < 60 ? “不及格”:“及格”; //必须掌握

//if​

System.out.println(type1);

}

}

结果:

及格

及格

instanceof 运算符:该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

实例:

String name = “Test”;

boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真

表达式


表达式:用运算符连起来的式子叫做表达式。由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。例如:20+5 。 又例如:a+b

在java中 以 ;结尾的一段代码,即为一个表达式

public class HelloWorld {

public static void main(String[] args) {

//每一句话都是一个表达式

int i = 5; //①

System.out.println(5); //②

; //③

; //④

; //⑤

}

}

七、数组

=======================================================================

数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

实例:

public class Test4 {

public static void main(String args[]) {

int data[] = new int[3]; /开辟了一个长度为3的数组/

data[0] = 10; // 第一个元素

data[1] = 30; // 第二个元素

data[2] = 50; // 第三个元素

for(int x = 0; x < data.length; x++) {

System.out.println(data[x]); //通过循环控制索引

}

}

}

结果:

10

30

50

三种方法定义Java数组:

  1. 1.先声明   2.分配空间  3.赋值

  2. 1.声明并分配空间  2.赋值

  3. 1.声明并分配空间然后.赋值

实例:

public class Test5{

public static void main(String args[]) {

System.out.println(“-----方法一-----”);

int[] arr; //先声明

arr=new int[5]; //分配空间

for(int i=0;i<5;i++)arr[i]=i*10; //赋值

for(int i=0;i<5;i++){

System.out.println(“arr[”+i+“]=”+arr[i]);

}

System.out.println(“-----方法二-----”);

int[] arr1=new int[5]; //声明并分配空间

for(int i=0;i<5;i++)arr1[i]=i*10; //赋值

for(int i=0;i<5;i++){

System.out.println(“arr[”+i+“]=”+arr1[i]);

}

System.out.println(“-----方法三-----”);

int[] arr2={20,68,34,22,34}; //声明并分配空间然后.赋值 等同于 int[] arr= new []{20,68,34,22,34};

for(int i=0;i<5;i++){

System.out.println(“arr[”+i+“]=”+arr2[i]);

}

}

}

结果:

-----方法一-----

arr[0]=0

arr[1]=10

arr[2]=20

arr[3]=30

arr[4]=40

-----方法二-----

arr[0]=0

arr[1]=10

arr[2]=20

arr[3]=30

arr[4]=40

-----方法三-----

arr[0]=20

arr[1]=68

arr[2]=34

arr[3]=22

arr[4]=34

八、方法

=======================================================================

方法:Java方法是语句的集合,这个集合一起执行能完成某个功能。

语法格式:

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){

执行语句

………

………

return 返回值;

}

实例:

public static void main(String[] args){

int sum = add(1,2); // 1、2是实参

System.out.println(sum); //输出3

}

// a、b属于形式参数,可以定义为任何符合命名规则的名字

public static int add(int a, int b){

return a+b;

}

注:在设计程序的时候尽量把main方法中的内容都抽象出来,作为一个方法调用,因为main方法在栈中(先进后出)。

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

………

………

return 返回值;

}

实例:

public static void main(String[] args){

int sum = add(1,2); // 1、2是实参

System.out.println(sum); //输出3

}

// a、b属于形式参数,可以定义为任何符合命名规则的名字

public static int add(int a, int b){

return a+b;

}

注:在设计程序的时候尽量把main方法中的内容都抽象出来,作为一个方法调用,因为main方法在栈中(先进后出)。

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

[外链图片转存中…(img-J8su5nV7-1714855250258)]

[外链图片转存中…(img-bmCg1zlp-1714855250259)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值