A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

枫飞落燕丶

初级黑马

  • 黑马币:19

  • 帖子:6

  • 精华:0

© 枫飞落燕丶 初级黑马   /  2019-3-8 20:17  /  834 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java基本数据类型
1)四种整数类型(byteshortintlong)   
byte8 位,用于表示最小数据单位,如文件中数据,-128-2^7~1272^7-1       默认值是 0
short16 位,很少用,-32768-2^15 ~ 327672^15-1      默认值是 0
int32 位、最常用,-2^31-1~2^31  21 亿)    2,147,483,647    默认值是 0
long64 位、次常用     默认值是 0L     后缀L/l通常不可省;但当数值为int类型及以下时,后缀可省,可进行类型自动转换)
注意事项:   
int i=5; // 5 叫直接量(或字面量),即直接写出的常数。   
整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 Ll   
小于 32 位数的变量,都按 int 结果计算。   
强转符比数学运算符优先级高
2)两种浮点数类型(floatdouble)    
float32 位,后缀 F f通常不可省;但当数值为int类型及以下时,后缀可省,可进行类型自动转换)1 位符号位,8 位指数,23 位有效尾数。   
double64 位,最常用,后缀 D d(可省)1 位符号位,11 位指数,52 位有效尾   
注意事项:   
1010100010=101010001.0*2=10101000.10*2^102次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)   
尾数:  . 1010100010   
指数:1010   
基数:2   
浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F f
double 类型可不写后缀,但在小数计算中一定要写 D X.X   
float  精度没有 long 高,有效位数(尾数)短。   
float  范围大于 long  指数可以很大。   
浮点数是不精确的,不能对浮点数进行精确比较。

3)一种字符类型(char)    
char16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-165535    
注意事项:   
不能为 0个字符。   
转义字符:\n  换行  \r  回车  \t Tab 字符  \" 双引号  \\ 表示一个\   
两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数(二进制的),显示的时候,经过处理显示为字符。
4)一种布尔类型(boolean)
true   false 假。
5)类型转换:
自动转换:
byte-->short-->int-->long-->float-->double           
char-->int-->long-->float-->double
强制转换:
语法:(目标类型)数值
会损失精度,产生误差,小数点以后的数字全部舍弃。
容易超过取值范围。
6)记忆:
8位:Byte(字节型)         
16位:short(短整型)、char(字符型)         
32位:int(整型)、float(单精度型/浮点型)         
64位:long(长整型)、double(双精度型)         
最后一个:boolean(布尔类型)
Java默认的字符集是Unicode(占两个字节byte,一个字节=8比特位bit,所以每个Unicode占用16比特位)
Java流程控制分支学习
一、顺序控制
程序从上到下、从左到右依次执行,中间没有任何判断和跳转。
二、分支控制
让程序有选择的执行,分支控制有三种:单分支、双分支、多分支。
1if语句
a.单分支:
if(布尔表达式){
    布尔表达式为true时要执行的语句
}
b.双分支:
if(布尔表达式){
    布尔表达式为true时要执行的语句
}else{
    布尔表达式为false时要执行的语句
}
c.多分支:
if(布尔表达式1{
    布尔表达式1true时要执行的语句
}else if(布尔表达式2{
    布尔表达式2true时要执行的语句
}
else if(布尔表达式2{
    布尔表达式2true时要执行的语句
}else{
    以上布尔表达式都为false要执行的语句
}
嵌套式if语句:
if(布尔表达式 1){
    //如果布尔表达式 1的值为true执行代码
    if(布尔表达式 2){
        //如果布尔表达式 2的值为true执行代码
    }
}
2switch语句:
switch(变量){
    case value1:变量=value1时执行的语句;break
    case value2:变量=value2时执行的语句;break
    .................
    defaultdefault语句;(default语句块可以省略)
}
switch语句的使用规则:
        1.switch语句中的变量类型可以是:byteshortintcharenum。( Java SE 7 开始,支持字符串类型,同时 case 标签必须为字符串常量或字面量。)不能用浮点型或long类型
        2.switch可以拥有多个case语句。
        3.case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或字面常量keyvalue之间的比较只能==
        4.当变量的值与case语句相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。
        5.switch语句可以包含一个default分支(也可省),该分支必须是switch语句的最后一个分支,default在所有case语句没有遇到break执行完后都必须执行,它不需要break语句default部分是不满足以上任何去执行的代码 ,类似于else
if switch 使用场景比较
1if 语句使用场景
        针对结果是 boolean 类型的判断
        针对一个范围的判断
        针对几个常量值的判断
2switch 语句使用场景
        针对几个常量值的判断
三、循环控制
又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作,让代码可以循环的执行。
注:JDK1.5 提供了 for each 循环,方便的遍历集合、数组元素。
循环之间可以任意嵌套,但一般嵌套不要超过三层
a. for循环(有一定规律性)
for(循环初值; 循环条件; 步长)
{
  //循环体
}
b. while循环(先判断再执行)
while (循环条件)
{
  //循环体
}
c. do while循环(先执行一次再判断)
do
{
  //循环体
} while (循环条件);
四、特殊流程控制语句
        Java 中的 goto 是保留字,目前不能使用。虽然没有 goto 语句可以增强程序的安全性,但是也带来 很多不便。比如说,我想在某个循环执行到某一步的时候就结束,现在就做不了这件事情。为了弥补这 个缺陷,Java 就提供了 breakcontinue return 来实现控制语句的跳转和中断。
注意:
break语句的作用:
1、只能在循环体内switch语句体内使用break语句。
2、当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体
3、当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体
4、在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环
continue语句作用:
1continue语句一般形式为:continue
2、其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
3、注意:执行continue语句并没有使整个循环终止。在whiledo-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定是否继续进行。
4、在for循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的表达式3”求值,然后进行表达式2”的条件测试,最后根据表达式2”的值来决定for循环是否执行。循环体内,不论continue是作为何种语言的语句成分,都按上述功能执行,这点与bresk有所不同。
5.continue语句只用在forwhiledo-while等循环体, 常与if条件语句一起使用, 用来加速循环。
标签形式:
out:
forint i=0;i<3;i++{
    System.out.println("语句1:我是外层循环开始");
    forint j=0;j<3;j++{
        System.out.println("我是内层循环");
        break out;//直接跳出最外层循环,
        continue out;//不会执行语句3,直接进行外层循环的下一次循环
    }
    System.out.println("语句3:我是外层循环结束");
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马