Java字符

目录

2.1运算符

2.2数据类型转换

2.3判断字符串内容是否相同

2.4字符串连接符

 2.5传意字符

2.6键盘录入

2.7分支语句


2.1运算符

运算符分为算数运算符,逻辑运算符,赋值运算符,三目运算符(三元运算符),位运算符

1.算数运算符

+:相加

-:相减

*:乘法

/:除法  0不能作为被除数

%:取余

++:自增    ++在前,先自增后运算,++在后,先运算在自增

--:递减      --在前先递减,在运算,--在后先运算在递减

优先级:先有括号算括号里的,先乘除后加减,从左向右依次算。

如:

int a=10;
int b=2;
int c=a+(++a)+(b++);
//求c值

第一个a1=10,第二个a2,++在前所以先自增成为了11后,参与运算,是11,最后的b++在后,所以先运算依旧是2,之后才自增,所以c为23.

2.逻辑运算符

<:小于

<=:小于等于

>:大于

>=:大于等于

==:判断基本数据类型是否相同,判断引用数据类型的地址是否相同,不能判断字符串内容是否相同

!=:判断基本数据类型是否不同,判断引用数据类型的地址是否不同,不能判断字符串内容是否不同

&:与,都为真时为真,只要有一个是假就为假

&&:短路与,与&的含义相同。但区别于&的是,&&效率比&高,在判断一系列的概念时,&会全部遍历一遍再做出判断,而&&在遇到第一个假概念时就会直接判断整个概念为假

|:或,都为假时为假,只要有一个真那就都为真

||:短路或,与|含义相同。效率比|高。

!:非,真变假,假变真。

逻辑运算最终结果是boolean型,最终结果为Boolean型的算数式都是条件表达式

与,或,非不加括号最后运算,其运算优先级较低。

3.赋值运算符

=:赋值,将右边的数赋予左边

+=:加等 例如:a=a+b 其含义与a+=b相同

类似的还存在-=     *=       /=      %=

4.三目运算符:

语法  条件表达式?值1:值2

当条件表达式为真时取值1,为假时取值2              

class sanmu{
	public static void main(String[] agus){
		int a=18;
		int b=20;
		String str=18>20?"a大":"a小";
	System.out.println(str);
}
}

 注意:值1与值2数据类型要一致

5.位运算符

位运算符所用比较少,大体思路是把数字转化为二进制后再进行每一位的运算

&按位与 

0101011
1010101    //   0101011&1010101

0000001

| 按位或

0101010
1010100   //0101010|1010100

1111110

!取反   

1101010//           !1101010
0010101

^按位异或  相同为0,不同为1

1010101
0010001      //1010101^0010001

1000100

<<:左移  10101<<2      左移两位 1010100

>>:右移    111010>>2     右移两位 1110

2.2数据类型转换

1.小类型转换为大类型为自动转换,小类型与大类型运算时结果为大类型。

例如:

class sanmu{
	public static void main(String[] agus){
		int a=18;
		long b=a;//整形向长整型转换,占字节少的向占字节多的转换,自动转换
		double c=a+0.0;//整形向双精度转换,可以看到结果为字节数多的
	System.out.println(b);
	System.out.println(c);
}
}

2.大类型向小类型转换,此转换需要强制转换

语法格式: 小类型 变量名=(小类型)需要转换的变量或数据

class sanmu{
	public static void main(String[] agus){
				
		double c=9.88;
		int a=(int)c;
		int i=128;
		byte b=(byte)i;
	System.out.println(a);
	System.out.println(c);
	System.out.println(i);
	System.out.println(b);
}
}

 

可以看到大类型强制转换为小类型后数据丢失了。

2.3判断字符串内容是否相同

语法: boolean 变量名 = 字符串1或字符串变量1.equals(字符串2或字符串变量2)

class sanmu{
	public static void main(String[] agus){
				
		String str1="hallo";
                                String str2="world";
		String str3="hallo";
		boolean a=str1.equals(str2);
		boolean b=str1.equals(str3);
		
	System.out.println(a);
	System.out.println(b);


	
}
}

 相同返回true,不同返回false

2.4字符串连接符

+

例如

class sanmu{
	public static void main(String[] agus){
		int i=10;		
		String str1="1"; 
		String str2=i+str1;

		String str3=1+2+"4";
		String str4="1"+2+8;
                                
	System.out.println(str2);
	System.out.println(str3);
	System.out.println(str4);
	System.out.println(1+2+"5");//先1+2=3,之后和字符5连接,所以变为了35
	System.out.println("5"+2+3);//都是先左后右,5-2-3变为了字符串
	
}
}

 2.5传意字符

概念:特殊含义的字符

\' 含义: '

\" 含义: "

\\ 含义: \

\n 含义:换行

\t 含义:制表

2.6键盘录入

记住就完事了

对应的类:Scanner

使用步骤:

1.导包,位置要在类以外,import java.util.Scanner;

2.创建Scanner对象,Scanner 变量名1 = new Scanner(System.in);

3.等待用户输入,并获取结果,语法:

让用户输入字符串       String 变量名2 = 变量名1.next();

让用户输入整数           int 变量名2 = 变量名1.nextInt();

注意next或nextInt都会阻塞程序,直到用户输入

例子:

import java.util.Scanner;
class sanmu{
	public static void main(String[] agus){
		Scanner a=new Scanner(System.in);
  		System.out.println("请输入字符");		
   		String a1=a.next();		
  		System.out.println("你输入的是"+a1);
	
		Scanner b=new Scanner(System.in);
  		System.out.println("请输入数字");		
   		int b1=a.nextInt();		
  		System.out.println("你输入的是"+b1);
}
}

2.7分支语句

1.分支语句

顺序语句:代码从上向下依次执行

分支语句:提供多个分支只能选一个执行

循环语句:重复执行一段代码

分支语句作用就是判断

2.if语句

特点:可以判断内容是否相同,也可以判断区间

结构 

if(条件表达式){

当条件表达式为true,执行此处

}

if else结构

if(条件表达式){

当条件表达式为true,执行此处代码

}else{

当条件表达式为false,执行此处代码

}例

 一件物品满200打8折,会员在打8折

import java.util.Scanner;
class home9{
	public static void main(String[] agus){
	Scanner a=new Scanner(System.in);
  	System.out.println("请输入价钱");		
   	int a1=a.nextInt();		
  	System.out.println("你输入的是"+a1);
	double c=a1*0.8*0.8;
	double d=a1*0.8;
	System.out.println("是否会员?y/n");
	Scanner b=new Scanner(System.in);	
   	String f=b.next();	
	boolean g=f.equals("y");	
	
		if(g){
			if(a1>=200){
				System.out.println("原本需要"+a1+"元");
				System.out.println("现在需要需要"+c+"元");			
				   }else{
						System.out.println("原本需要"+a1+"元");
				 		System.out.println("现在需要需要"+d+"元");
				          }
			     }else{
                                                                if(a1>=200){
				System.out.println("原本需要"+a1+"元");
				System.out.println("现在需要需要"+d+"元");			
				      	  }else{
						System.out.println("需要"+a1+"元");
				 		
					        }
					
			}	
  	
}

}

例2:不同的分数评价不一样

import java.util.Scanner;
class home12{
	public static void main(String[] agus){
		
		Scanner a=new Scanner(System.in);
  		System.out.println("请输入分数");		
   		int a1=a.nextInt();		
  		if(0<a1&&a1<59){
				System.out.println("不及格");
			}else if(60<=a1&&a1<70){
				System.out.println("一般");
			}else if(70<=a1&&a1<85){
				System.out.println("良好");
			}else if(85<=a1&&a1<=100){
				System.out.println("优秀");
			}else if(a1<=0||100<a1){
				System.out.println("大嘴巴子");
			}
		
}
}

3.switch

如果不写break,程序会把break之前的代码都执行一遍

switch(变量){

case 值1:

         当变量的值等于常量1时执行此处代码

break;

case 值2:

         当变量的值等于常量1时执行此处代码

break;

......

case 值n:

         当变量的值等于常量1时执行此处代码

break;

default:

剩余情况执行此处

break;

}

例,过不同的节日,选不同的礼物

import java.util.Scanner;
class home10{
	public static void main(String[] agus){
		Scanner a=new Scanner(System.in);
  		System.out.println("请输入节日");		
   		String a1=a.next();		
  		switch(a1){
case "元旦":
System.out.println("红包");
break;

case "元宵":
System.out.println("元宵");
break;

case "情人节":
System.out.println("鲜花");
break;


case "女神节":
System.out.println("化妆品");
break;

case "劳动节":
System.out.println("踏春");
break;

case "儿童节":
System.out.println("游乐场");
break;

default:
System.out.println("不知道");
break;




}
	

}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值