hp实训7.29_Java基础之基本语法2
java入门总结思维导图
https://blog.csdn.net/weixin_42570427/article/details/107701299
java的基本数据类型
八种:byte short int long float double char boolean
js是弱类型语言 java是强类型语言
类型转换
.自动类型转换:把小的放到大的里面
2.强制类型转换:把大的放到小的里面
3.把字符串类型转换成其他数据类型(使用对应包装类的parsexxx()方法)
package com.hpe.demo;
public class Demo3 {
public static void main(String[] args) {
/**
* java的基本数据类型
*/
//1.byte -128-127
byte b=120;
System.out.println("B:"+b);
// b=128;右边的赋值数字不能超过左边数据类型的范围
long l=1000L;//如果要定义成long类型,后面必须加上大写的L或者小写的l
System.out.println("l:"+l);
//2.小数
double d=10;
System.out.println("d:"+d);
float f=12F;//float值必须加上大写的F或者小写f
System.out.println("f:"+f);
//3字符型
char c='a';
System.out.println("c:"+c);
//布尔类型 只有两个值:true false
boolean b1=true;
System.out.println("b1:"+b1);
/**
* 类型转换
*/
System.out.println("========================");
short s=10;
int num=s;//把小的(short)转成的大的(int),可以自动类型转换
System.out.println("num:"+num);
int num1=20;
//把大的箱子放到小箱子里面,我需要强制类型转换
//需要转成什么类型的,在变量前面加上该类型就可以了
short s1=(short)num1;
System.out.println("s1:"+s1);
System.out.println("==========================");
//把字符串转成int类型,转换有前提,字符串的值不能包含中文
String str="123";
//每一个基本数据类型都有自己对应的包装类,每个包装类里面都封装了对应的转换方法
//Integer是int类型的包装类
int num2=Integer.parseInt(str);//把字符串转成了int
System.out.println("num2:"+num2);
//把字符串转成double
String str1="456";
double dob=Double.parseDouble(str1);
System.out.println("dob:"+dob);
//把int类型转成字符串
int num3=110;
String str2=num3+"";
System.out.println("str2:"+str2);
//第二种方式
int num4=120;
//转成什么类型,那么就去String类里面找方法
String str3=String.valueOf(num4);
System.out.println("str3:"+str3);
System.out.println("我是\n中国人")
}
}
标题算术运算符
+、- 、 * 、/、%
- 1.自增运算 ++ 在原有的基础上,累加1(涨一个数)
- 2.自减运算 – 在原有的基础上,累减1(降一个数)
- 使用格式:
可以在变量前面使用++ ++num
可以在变量后面使用++ num++ - 区别?
1.如果单独使用的话,没有任何区别
2.混合使用
(1).如果是后++,先使用变量的值,然后在+1,先用后加
(2),如果是前++,变量的值会立马+1,如果拿着累加的值进行使用,先加后用
public class Demo4 {
public static void main(String[] args) {
//加
//作用在数字上面,求和
int num=10;
int num1=20;
System.out.println(num+num1);
//作用在字符上面,不是求和,而是两个字符串拼接
String str="尼古拉斯赵四";
int num2=20;
System.out.println(str+num2);
}
}
public class Demo4 {
public static void main(String[] args) {
System.out.println("==================");
int num=10;
++num;//单独使用
System.out.println(num);
int num1=10;
num1++;//单独用
System.out.println(num1);//11
System.out.println("====================");
int a=10;
System.out.println(++a);//11
int b=10;
System.out.println(b++);//10
int d=10;
int e=10;
int f=(d++)+(++d)+(d--)+(--e)+(e++)+(++e);
//10+12+12+9+9+11
System.out.println(f);
int j=12;
int h=16;
int sum=(--j)+(h--)+(j++)+(++h)+(j--)+(++j);
// 11+16+11+16+12+12
System.out.println(sum);
}
}
赋值运算符:就是把右边的值赋值给左边的变量
- =:不是相等的意思,
- +=: a=a+b;可以简写成a+=b,
- -=
- *=
- /=
- %=
int a=10;
int b=10;
// a=a+b;
//可简写
a+=b
比较运算符
比较两个变量值 只是针对于基本数据类型进行比较
- 比较后只能是Boolean,要么为true要么为false
- == 比较两个值是否相等
<、>、 !=、 >=、<= - 逻辑运算符
- &(并且):所有的条件都为true,返回true,如果其中有一个为false,就为false
- |(或者):只要有一个为true,就返回true,如果都为false,返回false
- ^(异):相同为false,不同为true
- !(非):本来是false改成true
逻辑运算符
&和|可以双写
- 单写和双写有什么区别呢?
- 1.短路与:如果左侧已经可以判断最终结果了,那么后面的判断将不会再被执行
- 以后开发使用短路与,因为他的开发执行效率高
public class Demo7 {
public static void main(String[] args) {
boolean a=true;
boolean b=false;
System.out.println(a&b);//false
System.out.println(4>3|7<2);//true
System.out.println(true^true);//false
System.out.println(!true);//false
System.out.println("==========区别==============");
int num=10;
System.out.println(3>4 & ++num>5);
System.out.println(num);//11
int num1=10;
System.out.println(3>4 && ++num1>5);
System.out.println(num1);//10
System.out.println("==============");
int num2=10;
System.out.println(4>3 | ++num2<10);
System.out.println(num2);//11
int num3=10;
System.out.println(4>3 || ++num3<10);
System.out.println(num3);//10
}
}
三元运算符:
条件表达式?表达式1:表达式2
如果条件表达式为true,执行表达式1
如果条件表达式为false,执行表达式2
//定义两个整数,判断a是否大于吧,如果大于b,输出a大,相反输出b大
int a=100;
int b=200;
String result= (a>b)?"a大":"b大";
System.out.println(result);
//实现两个变量值的互换
int m=6;
int n=5;
int t;
t=m;
m=n;
n=t;
System.out.println("m:"+m);
System.out.println("n:"+n);
顺序结构
按照代码的抒写顺序从上往下依次执行
如何输入数据呢?
需要三步:
导入java.util.Scanner包;
语句import java.util.Scanner;
这句话要放在class定义的上面。
创建对象;
语句 Scanner sc = new Scanner(System.in);
接收数据
int a = sc.nextInt();
String name = sc.nextLine();
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
/*
* Scanner:用于接收键盘输入的数据
* */
Scanner sc=new Scanner(System.in);
System.out.println("请输入姓名:");
String name=sc.next();//接收字符串
System.out.println("大家好,我叫:"+name+");
}
}