Java 中的数据类型 进制转换 基本运算符的使用 流程控制 分支及简单循环

一:进制转换:

1. 十进制转二进制 

连除到取余例十进制18转化二进制

2.二进制转化为十进制

按权求和

  1       0       0       1      0 .......(二进制)

2^4*1 + 2^3*0 + 2^2*0 + 2^1*1+ 2^0*0   =18(十进制)

例:

十进制转化至 二进制 八进制 十六进制

分别调用方法 toBinaryString   toOctalString  toHexString

public class Demo01 {
	public static void main(String[] args) {
		// 10机制转2进制 返回的是字符串类型
		String str1 = Integer.toBinaryString(18);
		System.out.println(str1);
		// 10机制转8进制 返回的是字符串类型
		String str2 = Integer.toOctalString(31);
		System.out.println(str2);
		// 10机制转16进制 返回的是字符串类型
		String str3 = Integer.toHexString(12);
		System.out.println(str3);

	}

}
二 数据类型及相互转化:

分类:数据类型(用来存储数据 系统会在内存里开辟一块空间用来存储数据)

1.基本数据类型:

  1. 整数型(byte  short  int  long)    

byte 一个字节 存储的数据占一个字节 8个二进制位表示 0000 0000 可以表示2^8个数字 取值范围是(-128 --127)

short 占2个字节 短整型

int  整形 占4个字节(最常用)

long 长整形 占8个自己

  1. 小数型(float double)

float 占4个字节

double 占8个字节

  1. 字符型
  2. 字符串型

例:

public static void main(String[] args) {
		//常量:在整个程序运行中不能 修改的量;
		System.out.println(10);
		//声明一个变量---存储数据
		//数据类型+变量名 = 初值;
		byte b = 10;
		System.out.println(b);
		short s = 10;
		int a = 10;//定义一个整形变量初值为10;
		long m = 10;
		/*
		 * double 是存储小数的但是赋值一个小数这时系统会进行隐式转化
		 * 将小的类型转化成大的类型
		 */
		double d = 10;
		System.out.println(d);
		//强制类型转换 会丢失数据精度
		//声明一个小数系统默认的是double类型.
		int number = (int)3.14;
		System.out.println(number);
		//声明float类型的小数,需要使用标识符f标识
		float f =10.0f;
		System.out.println(f);
		/*
		 * 特殊类型 字符类型
		 * 特点:可以和整形相互转换
		 * 声明字符型使用单引号
		 */	
		char  ch = 'A';
		System.out.println((int)ch);//强转完 打印该字符 在AscII表中对应的值
		char ch1 = 97;
		System.out.println(ch1);
		// 字符串类型 声明字符串使用双引号 字符串中的+号 相当于连接两个字符串(拼接)
		String str1 = "八戒";
		String str2 = "你来了";
		System.out.println(str1 + str2);//八戒你来了
		int num1 = 10;
		System.out.println("num1 =" + num1);//num1=10
		int num2 = 12;
		System.out.println(num1 + num2);//22
		//字符串和数字用+号连接时 相当于做字符串的拼接,和字符串相加得到的一定是字符串
		System.out.println(str1 + num1 + num2);//八戒1012
	}

2.引用数据类型:{ 数组 类 接口}

三 运算符

  1. 算术运算符 + - *  /  % ++ --
  2. 关系运算符 > <  >=  <= !=
  3. 逻辑运算符 &&  ||   !

例:

public static void main(String[] args) {
		//取模运算(一般用的最多是对2取余)判断是否为偶数;
		int n1 = 5 % 10;
		System.out.println(n1);
		//除法
		//可以借助API文档查出报出的错误
		double n2 = 10 / 5;
		System.out.println("n2=" + n2);
		//自增运算(++) 和 自减运算(--)
		//++在前 先自增再进行运算 ++在后 先参与计算再自增
		int n3 = 10;
//		n3++;//
		++n3; //相当于n3 = n3+1;
		System.out.println("n3=" + n3);//11
		int n4 = 10;
		int n5 = n4 + ++n4;//10+11
		System.out.println("n4="+n4);//11
		System.out.println("n5="+n5);//21
		
		//声明一个boolean 类型的变量 只有true 或false
		//状态 和 判断 时使用.
		boolean b = true;
		System.out.println(!b);
		int num1 = 10;
		int num2 = 15;
		boolean result1 = num1 != num2;
		System.out.println(result1);
		//判断两个字符串是否相等
		
		String str1 = "嗯嗯";
		String str2 = "啊啊";
		boolean result2 =  str1.equals(str2);
		System.out.println(result2);//false
		
		//逻辑运算
		//逻辑与/或的短路现象
		int num3 = 5;
		int num4 = 6;
		int num5 = 7;
		//逻辑与短路现象:一假则假 如果条件一已经不成立那么系统不会执行后面的语句.
		boolean result3 = (num3 > num4)&&(num3++ > num5);
		System.out.println("result3 =" + result3);//false
		System.out.println(num3);//5
		//逻辑或的短路现象:一真则真 如果条件一已经成立那么系统不会执行后面的语句.
		boolean result4 = (num3 < num4)||(num3++ < num5);
		System.out.println("result4 =" + result4);//true
		System.out.println(num3);//5
		
	}
四 流程控制

  1. 顺序结构
  2. 分支结构
  3. 循环结构 (for     while    do while )

2.1 if

if有三种写法 

 if(){}

if(){}else{}

if(){}else if(){}else{}

2.2 switch

if 用法:

要求: 

如果晴天,去爬山,如果下雨,去逛街,再次接收用户的输入*小雨的话,带上伞, * 暴雨的话,穿上雨衣 键盘输入模拟天气
public static void main(String[] args) {
		System.out.println("输入模拟天气");
		Scanner scanner = new Scanner(System.in);
		String tq = scanner.nextLine();
		if (tq.equals("晴天")) {
			System.out.println(tq + "去爬山");
		}else if(tq.equals("下雨")) {
			System.out.println(tq + "去逛街");
			System.out.println("输入雨天天气");
			//直接使用之前创建的 Scanner 对象
			String tq1 = scanner.nextLine();
			if (tq1.equals("小雨")) {
				System.out.println(tq1 + "带上伞");
			}else if (tq1.equals("暴雨")) {
				System.out.println(tq1 + "穿上雨衣");
			}
		}else {
			System.out.println("阴天有鬼,不要出门");
		}

switch 用法示例:

switch (key) { key:要被匹配的值

case value: value(匹配的值1)

执行语句1

break;

case value: value(匹配的值2)

执行语句2

break;

````` 可以匹配多个值.


default:

如果前面都没匹配上 就执行default

break;

}

要求:  输入一个数   1--打印春天 2--打印夏天 3--打印秋天 4--打印冬天

	public static void main(String[] args) {
		System.out.println("输入一个数");
		Scanner scanner = new Scanner(System.in);
		String str = scanner.nextLine();
		int num = Integer.parseInt(str);
		switch (num) {
		case 1:
			System.out.println("春天");
			break; //跳出switch 语句
		case 2:
			System.out.println("夏天");
			break;
		case 3:
			System.out.println("秋天");
			break;
		case 4:
			System.out.println("冬天");
			break;

		default://不管default在什么位置最终都没匹配到case条件就一定会执行default中的语句.
			System.out.println("嘿嘿嘿");
			break;
		}
  }

五 三目运算

(判断条件)?值1:值2;

如果满足判断条件 返回值1 否则 返回值2

例:

public static void main(String[] args) {
		//求两个数的最大值
		int num1 = 10;
		int num2 = 15;
		int max = 0;//定义一个变量接收三目返回的值
		max = (num1>num2)?num1:num2;
		System.out.println(max);
		//求两个数的最大值
		int num3 = 20;
		int max2 = max>num3?max:num3;
		System.out.println("num1 num2 num3 中的最大值" + max2);
	}
六 while 循环的使用

while (循环条件){循环体}

满足循环条件再运行{}里的语句.

例:打印1-10

public static void main(String[] args) {
		int i =10;
		while(i>=1) {
			System.out.println(i--);
		}
		//打印1+2+3+.....+10
	        int n = 1;//循环增量
	        int sum=0;//定义一个变量保存和
			while (n<=10) {
				//计算累加的和
				sum +=n;	
				n++;	
			}
			System.out.println(sum);	
	}
while循环的循环条件要先定义循环变量 .



猜你喜欢

转载自blog.csdn.net/vlin_fan/article/details/80184793