重生之学Java的我靠C杀疯了

学习Java拥有C的基础确实比较快速,但是同时,Java的思想也让我们更深刻理解到C这个比较古老的语言。可能当时学C就是只是学C,但是学习Java不同,因为更加便捷,它的思想,它的方法更让我们明白C语言的奥秘。

Java API文档

API文档存放着包,类等解释作用,是我们应用Java必不可少的工具。

因为Java简洁快速,所以细节很多,函数的作用也有很多,记是记不完的。所以API就体现了作用。我们可以根据包名类名等去寻找查询我们所需要的函数等工具,去完成简便我们的代码。这就是Java和C区别很大的地方,也是Java方便简洁的原因。

http://t.csdnimg.cn/qOu5Q

这篇文章对于API的解释不错。

运算符

算数运算符

对于“+”需要注意:

对于“/”需要注意:

为什么 d 明明是double类型,但是输出还是2.0呢?

这告诉我们在进行除法运算时,一定要给除数和被除数化为double类型,才能得到正确的double答案。

对于“%”需要注意:

负数的取余或者是其他取余,我们有些时候会定向思维,理解错误,运算错误,所以我觉得取余最好还是参考这个公式:

                                                         a % b = a - (int)a / b * b

对于“++”需要注意:

前++还是后++,在学习C的时候我们已经吃过不少亏,所以不过多阐述。

++i是先自增后赋值,i++是先赋值后自增。

这里一定要看清楚程序运行的顺序!!!!!!仔细判断到底自增还是赋值。

逻辑运算符

三元运算符

                             句式:变量=(条件)?expression1:expression2  

上面的语句指出,如果条件返回true,则执行expression1,否则执行expression2,并将最终结果存储在变量中。

运算符优先级

scanner键盘输入语句

scanner类似于C语言中的scanf。

scanner用法

1.构造一个Scanner 类的对象,并且与标准输入流Sytem.in关联。
基本语法为:Scanner s = new Scanner (System.in) //创建了一个Scanner对象,Scanner为类名,s为对象名。
2.使用Scanner类相关的方法从控制台获取你需要的输入数据。//控制台也叫命令行,当你使用scanner方法后控制台会等待你输入数据,敲回车结束一个数据的输入。
 

                           

后面可以用变量来接收输入:int day = myScanner nextInt();

把一个字符串转化为字符

我觉得这就是C语言中把首字符读入的getchar。

我们现在对Scanner运用并不深刻,到真正用他的时候可以借助API来搜索他的各种用法,这篇文章适合我们阅读留个印象。

Java学习笔记——Scanner类-CSDN博客

进制(重重重重点)

对于整数,有四种表示方式:

二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。
十进制:0-9 ,满 10 进 1。
八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。

转十进制

二进制转换成十进制:

规则:从低位开始,将每个数提出了来,乘2的(位数-1)的次方,然后求和。

八进制转换成十进制:

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 8 的(位数-1)次方,然后求和。

十六进制转换成十进制: 

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 16 的(位数-1)次方,然后求和。

案例:请将 0x23A 转成十进制的数 0x23A = 10 * 16^0 + 3 * 16 ^ 1 + 2 * 16^2 = 10 + 48 + 512 = 570

其他进制转化(短除法)

十进制转换成二进制:

规则:将该数不断除以 2,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的二进制。 案例:请将 34 转成二进制 = 0B00100010

十进制转换成八进制:

规则:将该数不断除以 8,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的八进制。 案例:请将 131转成八进制 => 0203

十进制转换成十六进制:

规则:将该数不断除以 16,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的十六进制。

案例:请将 237 转成十六进制 => 0xED

二进制转换成八进制:

规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。

案例:请将 ob11010101 转成八进制 ob11(3)010(2)101(5) => 0325

二进制转换成十六进制:

规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。

案例:请将 ob11010101 转成十六进制 ob1101(D)0101(5) = 0xD5

八进制转换成二进制:

规则:将八进制数每 1 位,转成对应的一个 3 位的二进制数即可。

案例:请将 0237 转成二进制 02(010)3(011)7(111) = 0b10011111

十六进制转换成二进制:

规则:将十六进制数每 1 位,转成对应的 4 位的一个二进制数即可。

案例:请将 0x23B 转成二进制 0x2(0010)3(0011)B(1011) = 0b001000111011

原码,反码,补码

计算机里都是以补码的形式存储数据,电脑只能识别二进制的0和1,

一个字节(8位)为例

原码 :最高位符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。

反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。  

补码:正数的补码与原码一致,负数的补码是该数的反码加1。
                        

什么是原码、反码和补码_原码反码补码-CSDN博客

以下是大致总结:

1.二进制的最高位表示正负,0表示正,1表示负。

2.正数的原码补码反码都一样(三码合一)。

3.负数的反码=它的原码符号位不变,然后其他位取反(就是以前是0,现在是1)。

4.负数的补码=反码+1。

5.0的反码补码都是0。

6.Java没有无符号数。

7.计算机运算看补码,我们看运算结果看原码。

位运算符

位运算是直接对整型数据的二进制进行运算。

标识符

(不能有“-”。;例如h-s是错误的)

进阶版命名规范

(1)包名:多单词组成时所有字母都小写:aaa.bbb.ccc //比如 com.xjs.com

(2)类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz [大驼峰] 比如: TankShotGame

(3)变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz [小 驼峰, 简称 驼峰法] 比如: tankShotGam

(4)常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

关键字与保留字

关键字:被 Java 语言赋予了特殊含义,用做专门用途的字符串(单词)。关键字中所有字母都为小写。

保留字:现有 Java 版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留 字 byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const

    

今天想吃清单点的,就比如说海鲜粥,以蟹黄为汤底,瓦罐为媒介,与海米一同炖煮,加入开背鲜虾还有蟹肉,鲍鱼等海鲜,或许可以加入少许麻酱,会有不一样的风味。淡黄色的粥,鲜香扑鼻,是其他肉粥带不来的美味。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值