数据类型,java变量和常量,获取键盘输入 Scanner,运算符

一.数据类型

Java程序就是对数据的操作,CRUD

1.Java语言中的数据都有哪些?

在这里插入图片描述

a.基本数据类型

8个 三类
数值型 : 整数型 byte short int long 小数型 float double
字符型:char
布尔型: boolean 真和假 true、 false

数值型: 在内存中占的大小
1、从上图中可以看出,基本数据类型又分为数值型、字符型、布尔型。数值型有分为整数类型和浮点类型,整数类型有byte、short、int、和long四种类型。其中:byte占1个字节(在内存中占8位),其数值范围为:-128(-27)到127(27-1);short占2个字节(在内存中占16位),其数值范围为:-32768(-215)到32767(215-1);int占4个字节(在内存中占32位),其数值范围为:-2147483648(-231)到2147483647(231-1);long占8个字节(在内存中占64位),其数值范围为:-9223372036854775808(-263)到9223372036854775807(263-1)。在这四种整数类型中,int类型是默认的整数数值类型。即float和double型,float型为单精度浮点型,其在内存中占4个字节(32位)。7-8double型为双精度浮点型,其在内存中占8个字节(64位)。15Double 为默认类型    float  float=12.5f;      float  float  =12.5;

字符型
在java中字符型表示单个字符,且必须使用单引号(‘’)将其括起来。java采用的16bit的Unicode编码级作为字符型的编码方式 \uXXXX \u9999
布尔型:boolean
String 字符串类类型

b.引用数据类型:类 接口 数组

二.java变量和常量

2.1 作用: 用来在程序运行期间保存数据的容器。临时存储

变量 在程序运行期间可以改变的量
常量: 在程序运行期间不可以改变的量

2.2 创建 声明

语法:
变量:数据类型 变量名;int x;
常量: final 数据类型 常量名final double y;
声明变量和常量的方式 :
先声明在赋值 double x; x=11.5;
声明时赋值 int i=100;
变量的使用 使用输出语句 调用变量名

System.out.println(float01);换行 
System.out.print(float01);不换行

//声明并赋值
int i=110//浮点型
float x=11.5;
double y=25.5;
//布尔类型
boolean=true;
//输出语句
Systen.out.println(y);

2.3 java代码中的注释

注释在代码执行时不作用 ,注释是写给自己和别人看
//单行注释
/* / 多行注释
doc文档注释 /
*
*/ 可以生成自己的api文档 字典
在这里插入图片描述

在这里插入图片描述

2.4 数据类型转换问题

Java数据类型 按照数据存储大小来排列
Byte, short, char ——int ——long——float——double
自动类型转换 小类型变量赋值给大类型变量
强制类型转换 大类型变量赋值给小类型变量
在这里插入图片描述

其实对于java而言全都是强制转换

三.获取键盘输入 Scanner

//创建一个打印机  
Scanner input = new Scanner(System.in);
System.out.println("请输入你要打印的内容:");
String sr=input.next();//接收输入的字符串  
//输出打印的内容 
System.out.println("输入的信息是"+sr);

四.运算符

4.1 算数运算符

  • 在java程序中使用数学运算符 主要是对数值型的数据进行操作

±*/ %
++ – 自加和自减 1 运算符在前和在后
int i=100 ;
i++先赋值在自加
++i先自加在赋值

综合小练习 :
根据你输入的会员卡号 4位数 1234
获取会员卡号的各个为上的数字之后 如果等于6 就表示中奖
在这里插入图片描述

(1) 对数值型操作: 与数学基本类似, + 数字相加 (数字有byte short int long float double)
-(减号作用) 第一减法运算 二 表示一个负数
等类型相加:小于int类型的变量在运算之后(记得必须强制转换)
不同类型的数值运算: 不同类型的数据相加,在运算的时候自动将小类型转为大类型数据
Byte +int =====int(long、float、double) 自动转换
(转换)(short +int) = byte short 强制转换
(* / % ) 与数学运算一样 除数不能为0
/ 除数 10/3 =3 不考虑余数
% 取余数 10%3=1

 int i=45;
    int j=50;
   //减法运算
     int s=i-j;
     System.out.println(s);
     //负号表示负数
     double y=-21;
     System.out.println(y);
     byte byte01=50;
     byte byte02=80;
     //byte sum=(byte01+byte02);超出范围
     byte sum=(byte)(byte01+byte02);
     System.out.println(sum);
     System.out.println(byte01+byte02);//运算时会自动转成int类型
     //整数除/取余整数
     int int01=15;
     int int02=3;
     System.out.println(int01/int02);
     System.out.println(int01%int02);
   //整数除/取余小数
     int int03=90;
     double int04=30;
     System.out.println(int03/int04);
     System.out.println(int04%int03);
   int num=0;
 //除数为int的0    
 System.out.println(10/num);
 System.out.println("serendipity");
 //除数为double的0.0   结果为正无穷大 Infinity   除数为-0.0 结果为负无穷大  -Infinity
 double num6=0.0;
System.out.println(10/-num6);
System.out.println("serendipity");

注意在类型转换时:小数强制转为整数 损失精度
10.123456 ----->int 10

(2)其他类型操作(字符型):
char 与数字运算
char 类型与数字运算 将char转为int
String=多个char + 运算为拼接
在这里插入图片描述

4.2 赋值运算符

在这里插入图片描述
在这里插入图片描述

=赋值运算与算数运算符的结合使用
语法 := 将运算符右边的值赋值给左边的变量
+= -= *= /= %=
int num=1 ; num=num+1; === num+=1

4.3 关系运算符 比较运算符

在这里插入图片描述

可以进行基本数据类型和引用数据类型的比较
基本数据类型 比较的都是具体的值
引用数据类型 比较的是值(地址值)
关系运算符 的结果是boolean类(true false)
运算符左右两边可以是数值、变量(基本数据类)、表达式
(结果是boolean值的运算)
数值比较 、boolean、字符、字符串

//声明变量
int  num1=60;
int  num2=50;
 System.out.println(num1==num2);
 System.out.println(num1>num2);
 System.out.println(num1<=num2);
 System.out.println(10==10)//boolean类型比较
boolean  num3=true;
boolean num4=false;
System.out.println(num3==num3);
System.out.println(num4!=num4);
//char类型比较
char  num5='a';
char num6='b';
System.out.println(num5==num5);
System.out.println(num6!=num6);
System.out.println(num5>=num6);
System.out.println(num5<num6);
 //String类型比较
String  num7="serendipity";
String num8="serendipity";
System.out.println(num7==num8);
System.out.println(num7!=num8);

boolean类型不能进行大于小于的比较
算数、赋值 得到的是数值
关系运算符得到的是boolean结果

4.4 逻辑运算符

在这里插入图片描述

表达式的判断 也可以做true和false
普通的 & | ^ 左右两边都要运算
短路板 && || ! && 左边如果为false 右边不算 || 左边为true 右边就不管(1为真 0 为假)
与 & 左右两边都为true结果为true 一个为假就是假
|| | 左右两边都为false 结果为false 一个为真就是真
! ^ 最终结果取反 true----false

public static void main(String[] args) {
int  num01=10;
int  num02=20;
 boolean bool1=true;
  boolean bool2=false;
  boolean bool3=true;
// 非短路
System.out.println(bool01&bool02);//flase
System.out.println(bool01&bool03);//true
System.out.println(false|false);//flase
// 短路         
System.out.println((num01==num02)&&(num01>num02));//flase
System.out.println((num01!=num02)&&(num01<num02));//true
System.out.println((num01!=num02)||(num01<num02));//true
//    在最后取反      ! 直接对Boolean 
System.out.println(!(num01>num02));//true
System.out.println((!bool01));//flase

              

非短路与短路区别
短路 && ( 左边为真,右边继续判断;左边为false ,右边就不管 )
&& || 只要运算符的左边能够确定该运算符的最终结果 右边就不会执行
& | 运算符的左右两边都需要执行

int num9=35;
  int  num10=33;
System.out.println("逻辑运算前的值"+num9);//35
System.out.println((num9>100)&(50>(num10+=100)));//false
System.out.println((num9<100)&&(50>(num10+=100)));//false
System.out.println("逻辑运算后的值"+num9);//35

4.5 三元运算符

根据判断条件返回不同结果
语法: 表达式 ? value01 :value02;
使用语法: 变量= ( 表达式 ? value01 : value02);
执行: 根据表达式的结果,如果表达式 的结果为true 返回value01 表达式结果为false返回value02。
返回值可以直接输出 或者使用变量来保存。 用来接收返回值的变量必须与value01,value02

public static void main(String[] args) 
  /*
  * 根据考试成绩来评定等级  
 * 分数大于等于60 为及格    60以下不包含60 为不及格   80以上不含80 为良好  90以上不含90 为优秀
*/
Scanner input = new Scanner(System.in); 
  System.out.println("请输入成绩:");
  double grade=input.nextDouble();
//变量= ( 表达式 ? value01 : value02);    
//嵌套  
String mess=(grade>=60 ? (grade>80 ? (grade>90 ? "优秀":"良好") : "及格") : "不及格");
System.out.println(mess);
               

4.6 位运算符

正整数
按位进行移动运算,将Java的数值型的数据 转为2进制之后 进行移位用0 补位
(>>) 越来越小 (<<)越来越 大
在这里插入图片描述
在这里插入图片描述

4.7 运算符的优先级 使用()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值