Java的语言基础(一)
Java是一种跨平台面向对象语言,他可以通过JVM(虚拟机)用于windows操作系统.Linux操作系统
Ios操作系统,但是J不能说jvm跨平台因为如果说jvm跨平台那么三个操作系统每一个都要对应一个
jvm;
A.Java的关键字:
定义数据类型的关键字:
class(用于定义类) interface(定义接口) void
整型: byte(字节类型) short(短整型) int(整型) long(长整型)
浮点型: float double
字符串: char
布尔型:boolean
定义数据类型值得关键字:
true false null
流程关键字:
if while switch return do for case break continue else default
B.标识符:
1.定义: 给定义类,接口,数据,方法,变量起名字;
2组成由字母.数字.下划线和$组成的
3.不能是数字开头,不能使java中的关键字,要遵循大小写的规则;
C.注释
//内容 单行注释
/* 内容*/ 多行注释
/* 内容**/ 多行注释
D.进制
二进制(0b开头) 由0,1组成
八进制(0开头)由0,1,2,3,4,5,6,7组成
十进制 由0,1,2,3,4,5,6,7,8,9组成;
十六进制(0x)卡头由0,1,2,3,4,5,6,7,8,9,a,b,c.d,e,f组成
E.
/*
* 题:
* byte b = 130;有没有问题?如果我想让赋值正确,
* 可以怎么做?结果是多少呢?
*
* */
public class DataTypeDemo4 {
public static void main(String[] args) {
// byte b = 130 ; //错误的
//如何解决,强制类型转换
byte b = (byte) 130 ;
System.out.println(b); //-126
}
}
/*
* 如何去计算上面的结果
* 计算机底层对数据进行计算通过补码进行的
*
* 计算出130的原码
* 00000000 00000000 00000000 10000010
*
* 由于130的原码最高符号位0.整数的原码,反码,都相同.
*
* 截取3个字节,变成byte类型
* 补码:
* 10000010
*
* 补码:求原码
* 最高符号位 数值位
* 1 0000010
* 1 -1
* 1 i 0000001 -- 反码
* -- 原码 :符号位不变,数值为按位取反
* 1 1111110
*
* - 64+32+16+8+4+2=126
*
*
*
*
* */
F.
有四种内型的鞭炮:
1.每隔2秒响一次;
2.每隔3秒响一次;
3每隔5秒响一次;
4.每隔7秒响一次;
求2分钟可以听到鞭炮响的次数;
public class FireCra{
public static void main(String[] args){
int i=0;
int cnt=0;
//用选择分支实现:
while(!(i<=120)){
if(i%2){
//累加器加一
cnt++;//
}else if(!(i%3)){
cnt++;
}
else if(!(i%5)){
cnt++
}
else if(!(i%7)){
cnt++
}
i++;
}
//输出结果
System.out.println("用选择分支实现的结果");
System.out.println(cnt);
//用单条判断语句实现
int i=0;//清零
int cnt=0;
while(i<=120){
if(!(i%2==0)||!(i%3==0)||!(i%5==0||i%7==0)){//前提条件为真,后条件不判断
cnt++;
}
i++;
}
System.out.println("用单分支实现的结果");
System.out.println(cnt);
}
}