可以用String(类)接受字符串("必须加双引号") String不属于数据类型
String name="木舟";
public class Demo02 {
public static void main(String[] arge){
System.out.print("木舟你好");//打印输出不换行
System.out.println("今天是2024年6月17日");//打印并且换行
}
}
public class Demo02 {
public static void main(String[] arge){
//定义自己的姓名 年龄 身高 体重 性别
String name="木舟";
int age=24;
double height=172.5;
int weight=125;
char sex='男';
//中间用+号拼接
System.out.println("姓名"+"\t\t"+"年龄"+"\t\t"+"身高"+"\t\t"+"体重"+"\t\t"+"性别");
System.out.print(name+"\t\t"+age+"\t\t"+height+"\t"+weight+"\t\t"+sex);
//"\t"相当于键盘上的Tab键
}
}
数据类型转换:隐式(自动)和强制
自动转换:小转大 例:byte转int
强制转换:大转小 (会丢失精度) 例:double转int
public class Demo02 {
public static void main(String[] arge){
//byte 占1个字节
byte a=6;
byte b=7;
//int 占4个字节
int c=a+b;//这里的+是数学中的求和 不是拼接
//从byte转int 小转大 自动提升
System.out.println(c);
double d=20.5;//double 8个字节
// int e=c+d;报错 现在要的是int类型的和 需要强制转换
int e=(int) (c+d);//从8个字节转到4个字节 大转小
System.out.println(e);//得到33 因为强制类型转换会丢失精度 取整
}
}
如果超出了被赋值的数据类型的取值范围,得到的结果会和想要的不同
如果把char转成int需要对照ASCII码表
ps:这里涉及到了补码,源码和反码
算数运算符:+加 -减 *乘 /除 %模(取余)
赋值运算符:=(从右向左赋值)
逻辑运算符:一般用于连接boolean(布尔)类型的表达式或值
:&(逻辑与)判断两边 只要有一方为false(假)结果就为false(假)
: |(逻辑或)判断两边 只要有一方为true(真)结果就为true(真)
:!(逻辑非)遇到!那么false(假)变为true(真) true(真)变为false(假)
:^(逻辑异或)判断两边 结果相同为false(假) 结果不同为true(真)
:&&(短路逻辑与)和逻辑与结果是一样的,但是如果左边为false(假)那么右边就 不会再运算了(开发中推荐使用&&)
:||(短路逻辑或)和逻辑非结果是一样的,但是如果左边为true(真)那么右边就不 会再运算了(开发中推荐使用||)
三元运算符(三目运算符):关系表达式 ? 表达式1:表达式2 例:👇
表达式如果成立 返回值为true 取冒号左边的反之取冒号右边的
public class Demo02 {
public static void main(String[] arge){
int a=20;
int b=30;
String c=a>b ? "a>b":"a<b";
System.out.println(c);
}
}
自增自减:++ --(符号在前 先取值后运算,符号在后 先运算再取值)
比较运算符:表达式(算数表达式):a>b c>a 判断
条件表达式(比较表达式):a==b 比较
扫描仪:Scanner(如果报错需要导包Alt+Enter)
创建扫描仪👇 //sc名字可以变 其他位置写死
Scanner sc=new Scanner(System.in);
例子:
public class Demo02 {
public static void main(String[] arge){
Scanner sc=new Scanner(System.in);//声明扫描仪
System.out.println("请输入你的账号");
String id=sc.next();//输入的数据类型
System.out.println("请输入你的密码");
int pwd=sc.nextInt();//输入的数据类型
System.out.println("恭喜你登录成功!");
}
}
流程控制语句:可以控制程序的执行流程
流程控制语句分类:1.顺序结构(从上往下依次执行)
2.选择结构(if语句,switch语句)
equals()是比较String字符串的(不可以用==代替 equals比较实际值,==比较地址值)
判断数字是否相等用==,判断字符串是否相等用equals()
if语句:格式1 ( if(判断){语句体} )(表达式无论复杂简单结果必须是boolean类型)
public class Demo02 {
public static void main(String[] arge){
System.out.println("请输入用户名:");
Scanner sc=new Scanner(System.in);
String s=sc.next();
if (s.equals("木舟")){
System.out.println("欢迎木舟登录");
}
}
}
if语句:格式2( if(判断){语句体1}else{语句体2} )
public static void main(String[] arge){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的年龄:");
int a=sc.nextInt();
if (a>=18){
System.out.println("恭喜你成年了!!!");}else {
System.out.println("不好意思您的年龄不够");
}
}
if语句:格式3( if(判断){语句体1}else if{语句体2}eles{语句体3} )
public class Day02 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个值");
int a=sc.nextInt();
System.out.println("请输入第二个值");
int b=sc.nextInt();
if (a>b){System.out.println("最大值"+a);}
else if (a==b){System.out.println("相等");}
else {System.out.println("最大值"+b);}
}
3.循环结构
突然发现我的日记还是有人看的 因为我还是个小白 希望各位观看的大牛能够补充指错谢谢啦!