2. 【Java基础】字符串与数组及常见运算符

一:引用类型
怎样理解引用类型?

引用类型的变量它就是指的一个内存地址,一个位置信息(相当于门牌号),指向的内存中保存着变量所表示的一个值或一组值。

引用类型分类

数组

接口
枚举

字符串
String a = “helloworld”;
字符串类型的变量一般用来存储一串文字信息。

字符串可以跟任意类型的数据进行拼接得到新的字符串,拼接符号为“+”:

“hello”+”world”
“hello”+1234

数组(重点)
是一种数据结构,它是一个容器,用来盛放数据,不同类型的数组可以盛放不同类型的数据。

特点

固定大小:数组的容量是确定的,也就是说在定义数组的时候必须指定数组的大小
固定数据类型:数组的类型是确定的,也就是在定义数组的时候必须声明数组的类型,一种类型的数组只能放一种类型的数据
分类

一维数组和二维数组

一维数组
1、创建一维数组

语法一:声明时直接开辟内存空间(动态创建)

数据类型[] 数组名 = new 数据类型[数组的长度];
语法二:创建一个数组,并对它内部的元素进行初始化

数据类型[] 数组名 = {值1,值2,值3,值4};
2、获取数组长度

数组名.length;
3、一维数组取值/赋值

通过下标(索引)方式进行访问数组,可以对数组元素进行赋值和取值。

对数组赋值的方式

在创建数组的时候赋值

通过操作索引来赋值,索引是从0开始的

int [] a = new int [10];
a[0] = 1;
a[1] = 5;
a[2] = 8;

a[9] = 45;

二维数组
内部元素仍然是一维数组的数组。(数组的内部元素不是单个的数据,而是一维数组)

1、创建二维数组

语法一:创建了一个数组,但是没有初始化数组的元素,这种情况需要显示指定数组的大小。

数据类型[][] 数组名 = new 数据类型[二维数组的长度][];
语法二:创建一个数组,并对二维数组内部每个数组的所有元素进行初始化

数据类型[][] 数组名 = {{值1,值2,},{值1,值2},{值1,值2}};
int [][] myArr = {{1,2},{3,4},{5,6}};
2、二维数组取值赋值

int[][] a = new int [2][3];
//取出第一个数组赋值:
a[0][0] = 11;
a[0][1] = 21;
a[0][2] = 31;
//取出第二个数组赋值:
a[1][0] = 41;
a[1][1] = 51;
a[1][2] = 61;

二:常见运算符
算术运算符
算术运算符 名称 说明

  • 加法 加法运算符 ,也可作为字符串连接运算符
  • 减法 减法运算符 ,也可作为求负运算符
  • 乘法 乘法运算符
    / 除法 除法运算符(int类型的数相除时,会得到int类型的值,如果结果有小数,则小数部分会被舍弃)
    % 模余运算 取余数, 左边操作数除右边操作数的余数
    ++ 自增 单目运算符,变量的值加1
    • 自减 单目运算符,变量的值减1

赋值运算符
赋值运算符 名称 说明
= 简单的赋值运算符 将运算符右边的值赋给左侧变量, int C = 1 + 2将把1 + 2得到的3赋给C
+= 加和赋值操作符 把左操作数和右操作数相加赋值给左操作数, C + = A等价于C = C + A
-= 减和赋值操作符 把左操作数和右操作数相减赋值给左操作数
*= 乘和赋值操作符 把左操作数和右操作数相乘赋值给左操作数
/= 除和赋值操作符 把左操作数和右操作数相除赋值给左操作数
%= 取模和赋值操作符 把左操作数和右操作数取模后赋值给左操作数

比较运算符
比较运算符 说明
= = 检查两个操作数的值是否相等,如果相等,则表达式返回ture;只要比较的操作数是数值型,即使类型不同,而值相同,就返回ture
!= 检查两个操作数的值是否相等,如果值不相等,则表达式返回真

检查左操作数的值是否大于右操作数的值,如果是,则表达式返回真
< 检查左操作数的值是否小于右操作数的值,如果是,则表达式返回真
= 检查左操作数的值是否大于或等于右操作数的值,如果是,则表达式返回真
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则表达式返回真。
注意:
比较运算符只能运用在数值类型数据之间的运算,运算结果是布尔类型的值

逻辑运算符
逻辑运算符 名称 说明
& 逻辑与 当且仅当运算符两边的表达式都为真时,最后运算结果才为真
&& 短路与 当且仅当两个操作数都为真时才为真。注意:如果前面的表达式为假,则后面的表达式不会执行。所以叫短路与。
| 逻辑或 如果两个操作数任何一个为真,则返回真
| | 短路或 如果任何两个操作数任何一个为真,就为真,但是值得注意的是,如果前面的表达式为真,则后面的表达式就不会执行,所以叫短路或。
! 逻辑非 称为取反运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

其他运算符-三目运算符
语法:

逻辑表达式E ? E为true的值 : E为false的值

先对表达式求值,如果逻辑表达式为true,返回第二个操作数的值,如果逻辑表达式为false,返值
一般使用三目运算符作为 if…else精简写法

运算顺序
优先级排行

++,- -
括号
*,/ ,% (同一优先级,从左至右)
+,- (同一优先级,从左至右)
注意:

同一优先级运算符的运算顺序为:从左至右,
运算复杂的时候要一步步拆解运算。

建议:

不要把一个表达式写得过于复杂,可读性差,可以分步来写
多使用()来控制运算顺序

作业
创建一维数组

请使用两种语法创建数组,数组的元素为{“我”,”是”,”最”,”棒”,”的”}
请使用两种语法创建数组,数组的元素为{100,200,300,400,500}
创建二维数组

请使用两种语法来创建数组,数组的元素为{{“第一个”,”二维”},{“数”,”组”}}
请使用两种语法来创建数组,数组的元素为{{50,60},{70,80},{90,100}}
有如下表达式,请分别写出对应的运算结果(心算得出来结果):

int x = 1;int y = 2;int z = 3;
求:x/y
求:y/x
求:x%y
求:y%x
求:(++x)+y
求:x+(y++)
求:x+(–z)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值