小白的JAVA起航——03天

基本数据类型:

Java编程语言定义了4类8种基本数据类型

逻辑——boolean
字符——char
整数——byte、short、int和long

浮点——double和float

逻辑型 — boolean

boolean类型适用于逻辑运算,一般用于程序的流程控制。
boolean数据类型有两个值:true和false

不可使用0或非0的值替代true和false,这点与C语言不同。

字符型 — char

char,即字符用单引号括起来,e.g:    char c1 = ‘a’;    char c2 = ‘中’;

也可以用ascii码表

char c3 = 65   (A); 

还可以用Unicode字符表示

例如:
语句:

char c2 = ‘\u4e2d’(中);  

整数类型、浮点类型



整型包括:byte short int long(广义的整型包括char型)有固定的范围和长度,不受操作系统影响,以保证Java的可移植性
整数常量有三种表示方式
        十进制整数,如:123,3.14,0.12
        二进制(以0B开始---JDK1.7)
        八进制(以0开始)
        十六进制(以0X开始)
java 语言中,,运算过程中整型类型默认为 int 类型,声明long类型时,要加上”L”或”l”

数字默认是:int类型

浮点类型->默认类型是:double

浮点型 包括 : float 和 double 型 两种。他们分别占有4个字节和8个字节,但他们远远比int 和 long  4 和 8 个字节大的多
Java 语言的浮点数有两种表示方式
            十进制数形式,浮点数必须包含小数,否则系统将认为是一个int 型 如: 8.0 不能省略为: 8
             科学计数法形式,只有浮点数才有科学计数法,如:3.14e8, 2.1E4, 5.2E-3,
Java 语言的浮点数默认是double 型,如果要表示float 型 必须在数字后面加 f(如:1.3f),
Java 的三个特殊的浮点数值:正无穷大,负无穷大和非数
所有的正无穷大都是相等,负无穷大都是相等,,而非数不与任何数值相等,与自己也不相等,只有浮点数除0 才可以得到这三个数,整数除0将报错;

Java 7引入了一个新功能:程序员可以在数值中使用下画线,不管是整型数值,还是浮点型数值,都可以自由地使用下画线。
通过使用下画线分隔,可以更直观地分辨数值中到底包含多少位
例如:int  i  = 123_456_789;

运行结果:123456789      必须在jre7.0中运行

String

不是基本数据类型,而是一个类,是引用类型

字符在双引号" "内 

使用如下:
    String str;
    String greeting=“Good Morning!”;

    String errorMessage=“Record Not Found!”;

字符串拼接:

public static void main(String[] args) {
String firstName = "James";
System.out.println(firstName);

String lastName = new String("Gosling");
System.out.println(lastName);

String fullName = firstName + " " + lastName;
System.out.println(fullName);

}

各种数据类型作为成员变量的默认值:


运算符

算术运算符:+、-、*、/、%、++、--
关系运算符:>、<、>=、<=、==、!=
逻辑运算符:!、&、|、^、&&、||
位运算符    : &、 |、 ~ 、^、 << 、>>、 >>>
赋值运算符: =、+=、*=、/=、%=
字符串连接运算符:+

public static void main(String[] args) {
int x = 3;
int y = 20;
System.out.println(x+y);//23
System.out.println(x-y);//-17
System.out.println(x*y);//60
System.out.println(x/y);//0
System.out.println(x%y);//3—求余数

}

public static void main(String[] args) {
int i1 = 10;
int i2 = 20;
int i3 = i1++;//先取值再运算
System.out.println(i3);
System.out.println(i1);
int i4 = --i2;//先运算再取值
System.out.println(i4);
System.out.println(i2);

}

!—逻辑非、&--逻辑与、|--逻辑或、^--异或、&&--短路与、||--短路或


public static void main(String[] args) {
System.out.println(3>2);
System.out.println(2<3);
System.out.println(3>=3);
System.out.println(1<=3);
System.out.println(2==3);//false
System.out.println(2!=3);

}

字符串连接符

“+”还可以对字符串进行连接操作
“+”中只要有一个字符串,结果都是字符串.

比如:
int age = 25;

String str = “你的年龄是”+age;


基本数据类型的转换

boolean 类型不能转换为其他数据类型
其他数据类型也不能转换为boolean类型


整型,字符型,浮点型转换原则:
容量小的类型自动转换为容量大的数据类型.
byte,short,char => int => long => float => double

byte,short,char 之间不会互相转换,三者在计算时先转换为int.

三目条件运算符,语法格式:
x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
举例:
int score = 80; int x = -100;
String type = score < 60 ? "不及格" : "及格";
int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
System.out.println("type= " + type);

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


顺序结构:

是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行
如果main方法多行代码之间没有任何流程控制,则程序总是从上向下依次执行,排在前面的代码先执行,排在后面的代码后执行

分支结构:

Java提供了两种常见的分支控制结构:
if语句:使用布尔表达式或布尔值作为分支条件来进行分支控制。

switch语句:用于对多个整型值进行匹配,从而实现分支控制。


分之结构_用法-if

if(表达式){
语句
}

分之结构_用法二 else

一个if语句末尾可以跟一个else语句,用来指定if语句条件不成立时执行的代码。



分之结构_用法三else if

一个if语句后面可以跟一个或多个else if语句,用来指定if语句条件不成立时需要再判断的其它条件。




分之结构_if的嵌套

在实际编程过程中,往往会有这种情况发生:当条件a满足时,再判断条件b1,而当条件a不满足时,再判断条件b2。

遇到这样的情况就需要在条件语句if的分支中再嵌入if语句,那么就构成了条件语句if的嵌套。条件语句if嵌套的格式如下:


IF语句常见的错误

如果if、else、else if后的执行体只有一行语句时,则可以省略花括号,但我们最好不要省略花括号,因为保留花括号会有更好的可读性,且还可以减少发生错误的可能。
对于if 语句,还有一个很容易出现的逻辑错误,这个逻辑错误并不属于语法问题,但引起错误的可能性更大。

对于任何的if else 语句,表面上看起来else后没有任何条件,或者else if后只有一个条件,但这不是真相:因为else的含义是“否则”,else本身就是一个条件!else 的隐含条件就是对前面条件取反。

switch分支结构

可以省略case后代码块的花括号1、使用break语句,防止case穿透2、 default可以省略,但不推荐省略3、 switch语句中控制表达式的类型只能是byte、short、char、int、String(JDK7新增)和枚举


方法:为了完成特定功能的某些代码的组合
 语法:修饰符1,修饰符2…  返回值   methodName(参数列表。。。){   code….. }
Void :定义此方法没有返回值
methodName:原则上可以任意起名,一般遵循编程规范,见名知意

参数:形参、实参

类包含用于执行基本数学运算的方法:
Static  返回值  abs  (参数) 返回绝对值

public static double floor(double a)  向下取整

public static double ceil(double a) 向上取整

public static long round(double a)四舍五入

public static double random()取随机数 [0,1)
public static float max(float a, float b)
public static int min(int a, int b)

Java支持的3种基本的循环语句:

for循环语句

while循环语句

do while 循环语句

for循环语句通常用来执行确定次数的迭代语句。





while循环语句通常用来执行未确定循环次数的迭代语句。



do while 循环的语法格式如下:
[init_statements]
do{   
        statements;
[iteration_statements]
}while (test_expression);

使用循环时,一定要保证循环条件有变成false的时候,如果循环条件永远为true,那就是死循环。使用while循环时还有一个陷阱,while循环条件后紧跟一个分号


do while 循环语句里,即使test_expression循环条件的值开始是假,do while循环也会执行循环体。因此,do while循环的循环体至少执行一次。

注意:有时灵活使用死循环,会起到意想不到的结果

各种基本类型的循环都可以作为外层循环,各种基本类型的循环也可以作为内层循环

假设外层循环的循环次数为n次,内层循环的循环次数为m次,那么内层循环的循环体实际上需要执行n*m次

实际上,嵌套循环不仅可以是两层嵌套,还可以是三层嵌套,四层嵌套……

java.util.Scanner是Java5的新特征,主要功能是简化文本扫描。这个类最实用的地方表现在获取控制台输入

ps:

public class TestScanner {        

public static void main(String[] args) {                

Scanner s = new Scanner(System.in); 

System.out.println("请输入字符串:");                

while (true) {                       

String line = s.nextLine();                       

 if (line.equals("exit")) break;                        

System.out.println(">>>" + line);                

}       

 } 

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值