js三目运算符判断_java基础-1-ASCII码表、运算符、选择控制

ASCII码表、类型转换、Random、Scanner、运算符、三目、选择控制

一、ASCII码表

因为计算机内部只能识别01二进制数字,对于数字而言,可以直接转换为二进制,但是对于人类的文字而言如何转换为二进制的01呢?因为自己算最早出现在美国,所以美国就编写了一张码表,将人类的语言和符号和计算机中的01进行对应。

American Standard Code for Information Interchange,美国信息交换标准代码。

ef8ec25365e650fc5a0670cc7e18029f.png

ASCII码表

当输入人类语的时候,操纵系统就会去查询对应的码表,将这些语言转换为对应的二进制,因为是美国人的语言只有英文,所以ASCII中只有英文和一些标点,每个英文字母和符号对应一个字节(8位)的二进制数字。

41e80cd0b3406da6e4a0d51ee6b605d3.png
24e927324f79c9cdc468a56692904356.png

单个英文字母对应一个字节

不需要我们全部记忆,只需大家记住(0-­9)对应(48-­57),(A­-Z)对应(65­-90),(a-­z)对应(97­-122)。

因为不能识别中文,所以中国编写自己第一张简体中文编码表GB2312(简体中文,符号,日本假名),因为存的字有限,所以后来升级成为GBK(增加繁体中文和少数名族文字),我们的操作系统,如果设置成中文就是GBK编码。

因为后来出现了很多码表,所以世界标准组织ISO推出了Unicode编码表(万国码表),规定一个字符占用两个字节。

所有的编码表都支持ASCII编码表。

二、基本数据类型的转换

1、自动转换:范围小的可以向范围大的进行转换

byte

2、强制转换:范围大的向小的进行转换,需要强制类型转换

小范围数据类型 标识符 = (小范围数据类型) 变量名称

int b = a;//小范围的数向大范围的数转换的时候直接转换//强制类型转换,大范围的数向小范围的数转换的时候//强制类型转换的格式是//小范围类型 标识符 = (小范围类型) 大范围的变量byte c = (byte) b;

三、int和char类型数据转换

char转换成int,字符型和数值型进行转换的时候都会查询编码表,由于int 4个字节,char 2个字节,所以属于自动的类型转换。

int转换成char,需要强制类型转换。

如果char是汉字,转换成整数查询的就是Unicode编码表。

char类型的最大整数是65535,因为char没有负数。

char可以直接赋值为Unicode编码,格式为甥硸硸,十六进制。

char a = 'a';int b = a;System.out.println(b);  //97int c = 97;char d = (char)c;System.out.println(d);  //achar chineseChar = '李';System.out.println(chineseChar);  //李

四、运算符

4.1、算数运算符

7d20fce3aed4674bc486c1230ef5da1a.png

算数运算符

加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。

除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。

“%”应用于奇偶判断和012012类似的数据结构,为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。

整数做被除数,0不能做除数,否则报错。

++a和a++的区别。

// 参与运算的时候,如果是 a++,先赋值后运算,如果是++a,先运算,后赋值int a=1;int b = a++;System.out.println("a:"+a+"---------"+"b:"+b);     //a:2---------b:1int d = ++a;System.out.println("a:"+a+"---------"+"d:"+d);     //a:3---------d:3

4.2、赋值运算符

bbeb54a0d4a2dc3e8b6914d25c90e891.png

赋值运算符

4.3、比较运算符

7a19a0603a1bfe158a7b135305157a1f.png

比较运算符

4.4、逻辑运算符

2972904a4d9fff8c81639135f5dca9d7.png

逻辑运算符

当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。

4.5、位运算符

a894274e0b28b99addaac4cd223776db.png

位运算符

^运算规律

  • 1^0=1,0^0=0,任何数和0相异或得到的是这个数本身。
  • 0^1=1,1^1=0,任何数和1相异或得到的是这个数的相反。
  • 一个数自己和自己异或得到的是0。

五、三目算符

  • 必须有结果,?后必须跟有东西
System.out.println( 1<5 ? “success” : “fail” );

六、选择控制语句

if控制语句

当括号内的内容是true的时候,执行{}中的内容

//并列if判断,无论上面的条件成立与否,下面的if都会进行判断if(a < b){              System.out.println("a小于b");}if(a > b){              System.out.println("a大于b");}if(a == b){              System.out.println("a等于b");}

if….else..控制语句

//上面条件成立下面就不在判断if(a < b){              System.out.println("a小于b");}else{              System.out.println("a不小于b");}

if…else if…else控制语句

//上面条件成立下面就不在判断if(a < b){              System.out.println("a小于b");}else if(a > b) {              System.out.println("a大于b");}else {              System.out.println("a等于b");}

多条件判断

if(1

switch case语句

switch后边的表达式只能是整型字符型(byte,short,int,char),枚举类型,其中jdk7之后支持字符串型。

int day = 4;switch (day) {    case 1:               System.out.println("星期一");               break;    case 2:               System.out.println("星期二");               break;    case 3:               System.out.println("星期三");               break;    case 4:               System.out.println("星期四");               break;    case 5:               System.out.println("星期五");               break;    case 6:               System.out.println("星期六");               break;    case 7:               System.out.println("星期日");               break;    default:               break;}//星期四
 /** 获取当前年份月份的天数* 1、获取当前月份,switch进行判断* 2、获取当前的年份,使用if进行判断* 3、(年份被4整除并且不能被100整除)或者年份能被400整除* 4、输出29天* 5、如果上述条件不成立,输出28天*/int month = 2;int year = 2118;switch (month) {    case 1:    case 3:    case 5:    case 7:    case 8:    case 10:    case 12:                System.out.println("31天");                break;    case 4:    case 6:    case 9:    case 11:                System.out.println("30天");                break;    default:                if((year%4==0&&year%100!=0)||year%400==0){                               System.out.println("29天");                }else{                               System.out.println("28天");                }                break;}

七、Scanner类

  1. 属于引用类型,创建的时候需要固定格式 数据类型 变量名 = new 数据类型();
  2. 需要导入所在的包,导包格式: importjava.util.Scanner;
  3. 创建对象 Scanner sc = new Scanner(System.in);
  4. 获取输入的整数 int a = sc.nextInt();
  5. 获取输入的字符串 String str = sc.nextLine();
  6. 注意sc.nextInt()和sc.nextLine()会中断程序。

八、Random类

  1. 需要导入所在的包,导包格式: importjava.util.Random;
  2. 创建对象 Random ran = new Random();
  3. 获取随机整数范围是[0,50): int a =ran.nextInt(50);
  4. 获取随机小数范围是[0,1): double b =ran.nextDouble();
  5. 如何获取一个[a,b]的随机数 int a =rand.nextInt(b - a + 1) + a;

九、循环结构

while循环和do–while循环

while循环的格式

当条件为真的时候执行循环体中的内容

Random ran = new Random();int a = ran.nextInt(20)+1;while(a > 12){        System.out.println(1111);        a = ran.nextInt(20)+1;}

do–while循环

先执行do中的内容,然后进行条件判断,如果条件为true,执行循环体中的内容

在do中定义的变量只能在do中使用,不能在条件中和do–while外进行使用

int b = 0;do {      b = 13;      System.out.println(11111);} while (b < 10){      System.out.println(22222);};

for循环

for循环的格式

//先定义一个变量i,当i<10的时候执行循环内容,每执行一次//在for中定义的i,只能在for中使用for(int i = 0;i < 10; i++){           System.out.println("你好");           System.out.println(i);}for(int i = 0; i < 9; i++){           for(int j = 0; j < 10; j ++){                       System.out.println(i+"----"+j);           }}

break

break表示跳出当前循环,如果双层for循环写在外层跳出外层,写在内层跳出内层。

continue

continue表示跳出当前此次循环,下次循环继续,如果双层for循环写在外层跳出外层,写在内层跳出内层。

05-10 9336
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值