《java》学习笔记<一>

来源:互联网 发布:程序员在哪里写博客 编辑:程序博客网 时间:2024/05/29 14:48

进制

进制的由来

对于整数, 有四种表现形式:
二进制: 0-1, 满2进1。
八进制: 0-7, 满8进1, 用0开头表示, 如: 012。
十进制: 0-9, 满10进1。
十六进制: 0-9, A-F, 满16进1, 用0x开头表示。 如: 0x003c。



任何数据在计算机中都是以二进制的形式存在的, 二进制早期由电信号开关演变而来。 一个整数在内
存中一样也是二进制的, 但是使用一大串的1或者0组成的数值进行使用很麻烦。 所以就想把一大串缩短
点, 将二进制中的三位用一位表示。 这三位可以取到的最大值就是7, 超过7就进位了, 这就是八进制。
但是对于过长的二进制变成八进制还是较长, 所以出现的用4个二进制位表示一位的情况, 四个二进制位
最大是15, 这就是十六进制。
规律: 进制越大, 表现形式越短。


十进制-->二进制
原理:对十进制数进行除2的运算


二进制-->十进制
原理:二进制乘以2 的过程

十进制转八进制。
原理: 八进制, 其实就是二进制位, 3个二进制位, 1个八进制位。

十进制转十六进制。
原理: 十六进制, 其实就是二进制位, 4个二进制位, 1个十六进制位。

四个二进制就是一个十六进制位


负数的二进制表现形式:其实就是负数的二进制取反加1  取反:将二进制的1变成0 0变成1


负数的最高位都是1  正数的最高位都是0

变量

就是将不确定的数据进行存储
也就是需要在内存中开辟一个空间

定义变量的格式:
数据类型 变量名 = 初始化值;


数据类型分为两大类:(1).基本数据类型 ( 2).引用数据类型
(1).基本数据类型分为三小类:1.数值型   2.字符型(char)  3.布尔型(Boolean) 
true对  false错
    1.数值型又分为两小类a.整数类型:(byte【八个二进制】 short 【十六个二进制】
int【三十二个二进制】 long【天文数值】)
          b.浮点类型(又叫小数类型):(float  double)
(2).引用数据类型:1.类(class)  2.接口(interface) 3.数组([])
   注:一般整数默认:int    小数默认:double
        当进制不同时相加   在其前面加上不同类型的英语  为强制转换。


判断

判断结构:
三种格式:
1.if(条件表达式)
{执行语句}
2.if(条件表达式)
{执行语句}
else
{执行语句}
3.if(条件表达式)
……
else if(条件表达式)
……
else
……
【不需要结果】


选择结构:
switch语句
格式:
switch(表达式)
{ case取值1
执行语句
break
case 取值2
……
……
default
执行语句
break
}


if和switch语句很像
具体什么情况先应用哪个语句呢?
如果盘点单具体数值不多,而且符合byte short int char这四种类型
虽然两个语句都可以使用,建议使用switch语句  因为效率稍高


其他情况:对区间判断,对结果Boolean(布尔类型)判断,使用if,if的使用范围更广


循环结构
while   do while    for
while:先判断条件,只有条件满足才执行循环体
do  while:先执行循环体,在判断条件,条件满足,再继续执行循环体
简单一句话:do while  无论条件是否满足,循环体至少执行一次


for(初始化表达式;循环条件表达式;循环后操作表达式)
{
执行语句;
}
for(int x = 0 ; x<3; x++)
1.变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,
那么该变量只在for语句内有效,foe语句执行完毕,该变量在内存中被释放
2.for和while可以进行互换,如果需要定义循环增量,用for更合适


无限循环的最简单表现形式
for(;;;){

}



while(true){

}


其实累加思想的原理:通过变量记录住每次变化的结果    通过循环的形式,进行累加动作
计数器思想:通过一个变量记录住数据的状态变化    也需要通过循环完成

嵌套循环  原理:形象说话 :大圈套小圈


break(跳出)。continue(继续)
break语句:应用范围:选择结构和循环结构
for(int x=0;x<3;x++){

System.out.println("x="+x);  

 break;//直接跳出

}
continue语句:应用于循环结构    特点:结束本次循环,继续下次循环
for(int x=0;x<3;x++){

continue;//直接循环for语句    
System.out.println(x)//永远执行不到这句话

}
注:
1.这两个语句离开应用范围  存在是没有意义的
2.这个两个语句单独存在下面都不可以有语句,因为执行不到
3.continue语句是结束本次循环继续下次循环
4.标号的出现,可以让着两个语句作用于指定的范围

1 0
原创粉丝点击