基本循环条件语句及数组

if 语句
1 尽量使用肯定的表达式表述逻辑
2 减少多层嵌套。一般不超过2层
3 减少写else

练习:判断是否有航班
条件:byte date = 0x69;// 01101001

4
01101001
00010000

int day = 4;
int mask = 1<<day;

练习:
1 实现Bin字符串转成整数:
"101010001" -> int (101010001)
012345678

i = 0~<str.length()
char c = str.charAt(i);
x=(c-'0')|(x<<1);

for(int i=0; i<str.length(); i++){
}

2 把一个10进制字符串转换成 int
如:"1234"=>1234


3 把一个16进制字符串转换成 int
如:"4e2d"=>20013

4 把一个整数转换成2进制字符串
i = 0x2f -> "101111"
i 101111
mask 000001

String str = "";
while(true){
str = (i & mask) + str
i>>>=1;
if(i==0)
break;
}
5 把一个整数转换成16进制字符串
6 把一个整数转换成8进制字符串

if ... else
if(条件表达式){
}else{
}
if正确的应用:
boolean isBoy = false;
if(isBoy){
System.out.println("小伙子你好!");
}else{
System.out.println("超级小美女!");
}

一个典型的错误案例:
boolean isBoy = false;
if(isBoy=true){//语法对,但是不能是赋值语句
System.out.println("小伙子你好!");
}else{
System.out.println("超级小美女!");
}

for 循环
1 死循环
for(;;){
}
2
break 结束当前循环
continue 继续当前循环

案例:
统计一个字符串中的英文字母数量,
并且将多个字母替换为下一个划线
"北京2008, Beijing 2008"->"北京2008, _ 2008"
调试一个代码:
1 软件状态=数据=变量的值
2 利用输出语句输出代码的工作状态,与预期的理想值
比较,发现并查找错误

while ,do while
1 不计次的循环,处理到某个条件不满足为止

案例:
把一个16进制字符串转换成 int
如:"4e2d"=>20013
"4e2d"
'4'-'0'=52-48=4
'4'-> 00000000 00000000 00000000 00000100
sum=0=00000000 00000000 00000000 00000000
sum<<=4;
sum=00000000 00000000 00000000 00000000
+ 00000000 00000000 00000000 00000100
------------------------------------------
sum=00000000 00000000 00000000 00000100
sum<<=4;
sum=00000000 00000000 00000000 01000000
'e'->00000000 00000000 00000000 00001110
+ --------------------------------------
sum=00000000 00000000 00000000 01001110
sum<<=4;
sum=00000000 00000000 0000 0100 11100000

方法:
1 功能==动作==方法==动词
User reg(String name,
String pwd, String email)
User login(String name, String pwd)
2 语法
修饰词 返回值类型 方法名(参数列表){}
修饰词 public private
protected staic final
返回值类型: void,基本类型、类,相当于数学上的值域
void 表示无返回值。

方法名:功能的名词,一般是动词
参数列表:功能依赖的前提条件列表

return 语句:
1 如果方法有返回值声明,方法中一定包含一个
return语句,并且在return后面返回的类型一定
与返回类型兼容
2 如果返回值是void 就可以不写return。
3 如果软件包含多个return,将在第一个执行到的
return 语句结束方法。
4 在无返回值的方法中使用return可以提前结束方法

{}: 方法体,是方法的逻辑过程描述

如:y=f(x)=x+1;
static long f(int x){
return x+1;
}

static int abs(int x){
if(x>0){
return x;
}else{
return -x;
}
}

变量是在Java栈中分配的。

变量的作用域: 方法的参数变量的作用域是在方法内部有效
离开方法就回收掉。

数组:
1 一组同种类型变量的集合。如:所有课程的分数。
int[] scores = new int[10];
int[] 是数组的数据类型
int[] scores; 可以声明一个数组变量scores
scores = new int[10];是数组的初始化。

2 可以使用动态初始化(使用new),和静态初始化一个数组
int[] ary = new int[10];//动态初始化
int[] ary = new int[]{2,3};//动态初始化
int[] ary = {2,3}; //静态初始化,只能在声明
// 语句中直接使用
//ary = {5,6};//编译错误,
ary = new ary[]{5,6};//对,使用动态初始化。
在使用 new int[10] 动态初始化数组时:
1 必须给出数组大小!
2 数组成员默认自动初始化。初始化为“零”值
“零”值: 0, 0.0, '\u0000', false, null
3 数组下标:
1 使用下标可以访问数组成员:ary[0]
2 下标范围:0~length-1
3 数组的长度是固定的!
4 使用length属性可以访问数组长度
5 如果超越下标范围会抛出异常, 可能在面试中出现
java.lang.ArrayIndexOutOfBoundsException

4 不建议使用int ary[] 声明数组,这个只是一种与
cpp 类似的语法结构。Java本质上没有int ary[]。
在Java 中数组是类型是(int[])。
* int ary[] = new int[5];//不推荐的声明方式。

作业:
1 完善IntegerUtil,适当的完善,不用全部实现。
String toHexString(int n)
String toOctString(int n)
int parseHexString(Stirng hex)
int parseBinString(String bin)
int parseDecString(String dec)
提示: char[] ch = {'0','1','2','3',
'4','5','6','7',
'8','9','a','b',
'c','d','e','f'};
0~15->'0'~'f'
int n = 14;
//使用数组实现 0~15->'0'~'f'
char c = ch[n];
//使用数学表达式实现:0~15->'0'~'f'
char c = (char)(n<10?n+'0':n-10+'a');

2 EAN-13码的检查码的算法 ,例如假设一EAN-13码各码代号如下:
N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 C
  检查码之计算步骤如下:
  C1 = N1+ N3+N5+N7+N9+N11
C2 = (N2+N4+N6+N8+N10+N12)× 3
  CC = (C1+C2) 取个位数
  C (检查码) = 10 - CC (若值为10,则取0)

给定:12位条码:"690208388140"
计算出验证码:5

包装成为一个方法, 给定一个13位字符串:ean13
根据前12位计算验证码c与第13位比较,一样返回true
表示验证码是合法的验证码。方法示例如下:
static boolean verify(String ean13){
}













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Matlab中,循环语句可以用来遍历数组。一种常用的循环语句是for循环。在for循环中,可以使用数组的索引来遍历数组的每个元素。在每次循环中,可以将当前数组元素的值赋给一个变量,并对该变量进行任意操作。例如,可以使用for循环来遍历一个普通数组,如下所示: ```matlab array = [1, 2, 3, 4, 5]; for i = 1:length(array) current_element = array(i); % TODO: 对current_element进行任意操作 end ``` 在每次循环中,`i`表示数组中当前元素的索引,`array(i)`表示当前元素的值。您可以在循环体内对`current_element`进行任意操作。 另外,如果要遍历一个元胞数组,可以使用相同的for循环结构,但是需要使用花括号{}运算符来获取元胞数组的每个元素的值。例如,可以按以下方式遍历一个元胞数组`cell_array`: ```matlab cell_array = {10, 'hello', true}; for i = 1:length(cell_array) current_data = cell_array{i}; % TODO: 对current_data进行任意操作 end ``` 在每次循环中,`i`表示元胞数组中当前元素的索引,`cell_array{i}`表示当前元素的值。您可以在循环体内对`current_data`进行任意操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [PHP foreach遍历数组](https://blog.csdn.net/weixin_39629617/article/details/115827320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Matlab:如何遍历元胞数组并进行操作](https://blog.csdn.net/ai52learn/article/details/131774909)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值