变量

变量和运算符
数据类型
  • 常量:程序运行中固定不变的值,如π
  • 常量的分类:1.字面量:直接给定的值,也叫直接量 2.使用final定义的变量
  • 数据类型:
    • 基本数据类型:
      • 整数类型:byte,short,int,long
      • 小数类型:float,double
      • 字符类型:char
      • 布尔类型: boolean
    • 引用数据类型:数组,类,接口
  • 二进制
    • 二进制位:专门用于存储一个二进制位的,二进制只有两种状态,给定一个二进制位,可以存放0或者1两种状态.
    • 一般情况下,计算机把8个二进制位作为一个字节,byte,一个字节.short两个字节,int四个字节,long八个字节-2147483648
//声明一个byte类型的常量[-128,127]
System.out.println(10);
//short[-32768,32767]
System.out.println(1000);
//int[-2147483648,2147483647]
System.out.println(40000);
//long 如果需要java把100以long类型存储,必须以L作为后缀
System.out.println(100L);
//float类型占4个字节,能存储的数据可以精确到6-7位,单精度
//需要精确到15-16位的话,要用double,双精度,八个字节
//声明小数默认用double,如果可以确定精度不超过6位,一定选好float类型,结尾要加f
System.out.println(3.14f);//float
System.out.println(3.14);//double
System.out.println(.35);//小数是0开头的话,0可以省略
//浮点数不能用于比较,特别是等于比较,可以进行大于小于比较
//对于高精度计算不能用float(金融行业,科学研究),一般不会选择浮点数.
//声明一个char类型的常量,字符类型必须用单引号引起来
System.out.println('A');
//字符型中的字符表示的是Unicode(万国码)编码表中的字符
//Boolean类型只有true和false两种形式
System.out.println(true);
System.out.println(false);
//把多个字符组合在一起,构成字符串,用双引号表示,属于引用数据类型
System.out.println("张二狗");
变量
  • 在程序运行中,值可以发生变化的量
  • 表示存储空间,可以用来存放某一类型的常量,没有固定值,可以重复使用
//声明一个变量:语法:数据类型 变量名[= 初始值];
//1.声明一个变量,在内存中开辟了四个字节的空间,空间的名字叫做age.
byte age;
//2.赋值,(变量没有默认值),变量必须赋值后才能使用
age = 10;
//3.使用变量
System.out.println(age);
//4.运行过程中,age的值是可以被改变的
age = 11;
System.out.println(age);
/*1.变量必须先声明后赋值再使用
2.变量是没有默认值的
*/
//声明变量的同时进行赋值
int coutn = 100;
System.out.println(count);

使用变量注意:

​ 先声明再赋值后使用

​ 在当前作用域

变量的命名规则和规范:

  • 规则:

    • 变量名可以包含字母,数字,下划线,$.其余的不行
    • 数字不能开头
    • 不能包含java关键字和保留字
  • 规范:

    • 满足命名规则
    • 见名知意
    • 统一使用驼峰命名法(首字母小写,后续单词首字母大写)
//声明一个用户名
String userName = "张三";
//声明一个班级人数
byte personCount = 110;
short personCount1 = 110;
int personCount2 = 110;
long personCount3 = 110L;
//声明一个学生分数
float studentScore = 90.0f;
double studentCount1 = 90.0;
//声明一个性别
char personGender = '男';
//声明标识表示登陆成功或失败
boolean isSuccess = true;
//需求:交换两个数的值
/*给定m=10,n=20
变成交换m和n的值,交换后
m=20,n=10
*/
int m = 10;
int n = 20;
int temp;
temp = m;
m = n;
n = temp;
System.out.println("m = " + m);
System.out.println("n  = " + n);
int num1 = 10;
int num2 = 20;
//num1 + num2 + 30就是一个表达式
int result = num1 + num2 + 30;
System.out.println(result);
  • 基本数据类型转换(boolean不参与转换,一般byte,short,char不参与转换)
    • 类型转换
      • 自动类型转换:隐式类型转换,范围小的直接转换成范围大的数据类型
      • 强制类型转换:范围大的数据类型强制转换成范围小的数据类型
//自动类型转换
int score = 90;
float score2 = score;
char letter = 'A';
int letter2 = letter;
//byte,short,char类型参与运算的时候,先自动转换为int类型
//表达式类型自动提升
byte num1 = 1;
short num2 = 2;
char letter3 = 'A';
int r1 = num1 + num2;
int r2 = letter3 + num1;
//表达式最终运行结果以表达式中最大范围的类型为最终类型
double count = 50.0;
int num3 = 1;
double r3 = count + num3 + 100L + 3.14f;
//强制类型转化:语法:范围小的数据类型 变量 = (范围小的数据类型)
int num1 = 10;
float num2 = 10.2f;
int r = (int) (num1 + num2);
//强制类型转换对于浮点数来说会出现精度丢失
//强制类型转换过程中,不能超过目标类型的范围,否则会出现信息丢失
int num3 = 300;
byte r2 = (byte) num3;
System.out.println(r2);
运算符
  • 算术运算符

    • 加 减 乘 除

    • +两边的表达式都是数值,结果就是数值,如果两边的表达式有一个为字符串,+ 起到连接字符串的作用.

    • 除:0不能作为除数;在java中/是整除,如5/2=2,如果两边都是整形,结果就是整形,有一边为小数,结果就是小数;

    • % 取余数(取模)4

    • //47天中有多少周多少天
      int days = 47;
      int week = days / 7;
      int day = day % 7;
      System.out.println("有" + week +"周" + day + "天")
      //需求:7856s换成时分秒
      int times = 7865;
      int hour = times / 3600;
      int m = times % 3600 / 60;
      int s = times % 60;
      System.out.println(times + "秒是" + hour + "时" + m + "分" + s +"秒");
      
    • 自增:i++先参与运算,再自加1,++i先自加1,再参与运算

    • 自减:i–先参与运算,再自减1,–i先自减1,再参与运算

    • int i = 10;
      int j = i++ + i++;
      //i自增两次为12
      //j为21
      
  • 赋值运算符

    • 变量 = 表达式的值或者常量值

    • //赋值运算符
      int a = 10;
      //+=自增10
      int b = 0;
      b += 10;//b = b + 10;
      System.out.println(b);
      //*= 倍增\
      int c = 2 ;
      c *= 2;
      System.out.println("c = " + c);
      //注意事项:+=内部已经完成了自动类型转换
      byte d = 10;
      d += 1;//d = (byte)(d + 1)
      System.out.println("d = " + d);
      //需求:给定一个字母,转换成大写字母
      char e = 'a';
      e -= 32;//e = (char)(e - 32);
      System.out.println(e);
      
  • 比较运算符

    • 也叫关系运算符:用于比较变量或常量,表达式之间的大小关系,结果为boolean类型
  • 逻辑运算符

    • 用来连接两个boolean表达式

    • boolean result = boolean表达式A 逻辑运算符 boolean表达式B

    • /*& 与运算,理解为"并,并且"
      true & true = true;
      true & false = false;
      false & true = false;
      false & false = false;
      只要有一个为false,结果就是false
      && 短路与,符合与运算的规则,左边表达式为false,不会运行右边的
      
        | 或运算,理解为"或,或者"
      true | true = true;
      true | false = true;
      false | true = true;
      false | false = false;
      只要有true,结果就是true;
      ! 非运算,理解为"取反"
      !true = false;
      !false = true;
      */
      
  • 三元运算符

    • 表示有三个元素参与的表达式,又叫做三目运算符.

    • 数据类型 变量 = boolean表达式? 结果A : 结果B;

    • int a = 10;
      String str = a > 5 ? "a大于5" : "a小于或等于5";
      System.out.println(str);
      //求两个数的最大值
      int m = 10 ;
      int n = 20;
      int max = m >= n ? m : n;
      System.out.println(max);
      //给定一个数,判断是否是偶数
      int b = 99;
      String str1 = b % 2 == 0 ? "偶数" : "奇数";
      System.out.println(str);
      //55条数据,每页10条,分多少页
      int dateCount = 55;
      int pageSize = 10;
      int page = dateCount % pageSize == 0 ? dateCount / pageSize : dateCount / pageSize + 1;
      System.out.println(page);
      
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值