马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
自动类型转换:在JAVA进行赋值或运算时,精度小的类型自动转换为精度大的数据类型
数据类型 按 精度(容量) 排序 两条线不发生自动转换
char -> int -> long -> float -> double
byte -> short -> int -> long -> float -> double
char 、 byte 、 short 三个在进行运算时 会直接提升至 int
基本数据类型:一共8种 【所占字节】
1.数值型:
整数类型(byte【1】,short【2】,int【4】,long【8】)
浮点(小数)类型(float【4】,double【8】)
2.布尔型(boolean【1】),存放 true , false
3.字符型(char【2】),存放单个字符 ‘ a ’
1 byte = 8 bit (bit 是计算机最小单位 字节是最小基本单位)
原码、反码、补码
1、二进制的最高位是符号位 :0表示正数 1表示负数
2、正数的原码、反码、补码都一样(正数三码合一)
3、负数的反码 = 他的原码符号位不变,其他位取反(0->1 , 1->0)
4、负数的补码 = 他的反码 + 1,负数的反码 = 负数的补码 - 1
5、0 的反码,补码都是 0
6、java 没有无符号数
7、在计算机运算的时候,都是以补码的方式来运算的
8、当我们看运算结果的时候,要看他的原码(重点)
位运算符
按位与 & :两位为1 结果为1 否则为0 (全1为1 否则0)
按位或 | : 两位有一个为1 结果为1 否则为0 (有1为1 否则0)
按位异或 ^ : 两位一个为0 一个为1 结果为1 否则为0 (不一样为1 否则0)
按位取反~ :0变1 1变0
算数右移 >> : 低位溢出 符号位不变 并用符号位补溢出的高位
算数左移 << : 符号位不变 低位补 0
逻辑右移 / 无符号右移 >>> :低位溢出 高位补 0
循环语句
if的快速入门
//if的快速入门
import java.util.Scanner;
public class If01{
//编写一个main方法
public static void main(String[] args){
//编写一个程序 可以输入年龄 如果大于18
//输出 “您已经成年”
//思路:
//1、接手输入的年龄, 应该定义一个Scanner对象
//2、把年龄保存到一个变量 int age
//3、使用 if 语句进行判断
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
int age = myScanner.nextInt();
if (age > 18) {
System.out.println("您已经成年了");
}else{
System.out.println("你咋未成年啊?");
}
System.out.println("程序继续执行");
}
}
if的多分支结构
//if的多分支结构
import java.util.Scanner;
public class If02{
//编写一个main方法
public static void main(String[] args){
//编写一个程序
//可以输入芝麻信用分
//1、信用分为100分时,输出 信用极好
//2、信用分为(80,99]分时,输出 信用优秀
//3、[60,80] 输出 信用一般
//4、其他情况,输出 信用不及格
//思路:
//1、接受输入的信用分, 应该定义一个Scanner对象
//2、把信用分 赋值给 int xinyong
//3、使用 if 语句进行判断
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入信用分 1-100");
int xinyong = myScanner.nextInt();
if (xinyong >=1 && xinyong <=100){
if (xinyong == 100 ) {
System.out.println("信用极好");
}else if( 99 >= xinyong && xinyong > 80){
System.out.println("信用优秀");
}else if( 80 >= xinyong && xinyong >= 60){
System.out.println("信用一般");
}else {
System.out.println("不及格");
}
}else{
System.out.println("格式错误");
}
}
}
switch语句运用
1、表达式数据类型 应和case后的常量类型一致,或者是可以自动转换可以相互比较的类型
2、switch 中的表达式返回值必须是:(byte、short、int、char、enum、string)
3、case 子句中的值 必须是常量(具体的值) 而不是变量
4、default 是可选的 当没有匹配的 case 时,执行 defult (可以不写)
5、berak 语句是用来跳出当前 如果没有遇见 break 程序将会执行完所有条件
//switch语句运用
import java.util.Scanner;
public class Switch02{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个字符 a - g ");
char c1 = myScanner.next().charAt(0);
//在java中只要有值返回 就是一个表达式
switch(c1){
case 'a':
System.out.println("今天是星期一 猴子穿新衣");
break;
case 'b':
System.out.println("今天是星期二 猴子当小二");
break;
case 'c':
System.out.println("今天是星期三 猴子爬雪山");
break;
default :
System.out.println("输入的字符不正确");
}
System.out.println("退出了Switch,继续执行程序");
}
}
for循环控制
for(循环变量初始化;循环条件;循环变量迭代){
循环操作(可以多条语句);
}
输出打印十次“王大力出奇迹”public class for01{
public static void main(String[] args){
for(int i = 1 ; i<= 10; i++)
System.out.println("王大力出奇迹" + i );
}
}
while 循环的案例//while 循环的案例
//输出十次王大力出奇迹
public class While01{
public static void main(String[] args){
int i = 1;//循环变量初始化
while ( i <= 10 ){//循环条件
System.out.println("王大力出奇迹" + i );//执行语句
i++;//循环变量迭代
}
System.out.println("退出While");
}
}
//打印1-100之间可以被3整除的数字
public class While02{
public static void main(String[] args){
int i = 1;
while( i <= 100 ){
if( i % 3 == 0 ){
System.out.println("i=" + i );
}
i++;
}
}
}
|