int i=010 与int i=10 区别:

本文详细解释了如何在程序中将八进制数转换为十进制数,并通过示例展示了如何进行位运算。同时介绍了十六进制数的基本概念及其在编程中的应用。

前面的一种表示的是按照八进制进行表示的i,后者是按照十进制表示的i。

看看下面的在程序中的运行结果你就会明白了!

int i=010;
int j=020;
//一定要弄清楚这一点是为什么?
System.out.println(i);  //8
System.out.println(j); //16
System.out.println(i|4); //12

System.out.println(10|4);//14      转换成二进制之后各位相或

此外:十六进制的是0x开头的,注意不是ox。     如:int k=0x16;


# 代码概述 该代码试图实现一个判断三位数是否为“水仙花数”的程序,但存在大量语法错误,无法正常编译运行。 # 代码解析 ```java public class Mainf pubric statie void main(stringll args) int i: int a=1/100; int b=(1/100)%10: int c=1%10: int sum=a*aka+b*b*b+c*c*c: forCint 1=100;1<=999;i++): if(sum==1): System.out. ``` **存在的主要问题**: 1. 类名拼写错误:`Mainf` 应为 `Main`(虽不影响编译,但命名不规范)。 2. `pubric statie` 错误,应为 `public static`。 3. `stringll args` 错误,应为 `String[] args`(大小写符号均错)。 4. 变量声明缺少分号或括号,如 `int i:` 后无结束或初始化。 5. 表达式 `a*aka` 明显错误,应为 `a*a*a`。 6. `forCint 1=100;...` 明显拼写错误,应为 `for(int i=100; i <= 999; i++)`。 7. 循环变量使用了数字 `1` 而非字母 `i`,会导致语法错误。 8. `if(sum==1):` 使用冒号而非大括号 `{}`,Java 中应使用 `{}`。 9. `System.out.` 不完整,应为 `System.out.println(i);` 输出水仙花数。 **正确代码示例**: ```java public class Main { public static void main(String[] args) { for (int i = 100; i <= 999; i++) { int a = i / 100; // 百位 int b = (i / 10) % 10; // 十位 int c = i % 10; // 个位 int sum = a*a*a + b*b*b + c*c*c; if (sum == i) { System.out.println(i); } } } } ``` # 知识点(列出该代码中遇到的知识点) - **Java 基本语法结构**:类定义、main 方法声明、大小写敏感、分号结尾、数组声明等必须规范书写。 - **循环条件控制**:`for` 循环遍历三位数,`if` 判断条件是否成立,实现逻辑筛选。 - **数学运算取位操作**:利用整除 `/` 和取模 `%` 提取百位、十位、个位数字。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值