JAVA初识之数据类型 运算符 流程控制

Java初识

数据类型

基本数据类型

  1. 字节类型
byte 字节类型 在内存当中占一个字节 使用82进制位表示 0000 0000 byte的取值范围 -128~127 可以表示2^8256个数 二进制的最高位叫符号位 除了符号位 其余的都叫做操作位
short 短整型 占2个字节
int 整型 占4个字节
long 长整型 占8个字节
  1. 小数类型
float 单精度浮点型 占4个字节
double 双精度浮点 占8个字节
  1. 字符类型

char 两个字节 注意:赋值字符类需要用单引号
  1. 布尔类型
作用:用来判断
特点:只有两个值 真/假 true/false
注意:
如果定义的是一个小数,系统会默认是double类型的,如果需要定义一个float类型的数据,需要在数据后面加一个标示(加f);
隐式转换,类型提升,int类型的数据,如果用double接收,会自动提升类型
强制类型转换 使用时前面加个括号,括号里面写上要转换的类型
字符类型和整型直接可以相互转换 具体对应情况可参见ascii码表
在main函数的外面不能访问main函数里面的数据变量
变量生命周期 函数中定义的变量,称为局部变量,出了定义的类,这个变量值就等于销毁了,访问不到了;

算术运算符

分类

+ - * / %(取余运算 膜运算) ++ --
注意:
a++ 表示自增 a = a + 1 
a-- 表示自减 a = a - 1
如果++在后,a先参与运算,再进行自增
如果++在前,先进行自增,然后再参加运算
int a = 5;
a++;
System.out.println(a++);   //输出6
System.out.println(a);  //输出7


int a1 = 10;
int b1 = a1 + a1++;
System.out.println(a1);  //输出11
System.out.println(b1);   //输出20

int a2 = 10;
int b2 = a2 + ++a2;
System.out.println(a2);   //输出11
System.out.println(b2);   //输出21

int a3 = 10;
int b3 = a3++ + a3;  //10 + 11
System.out.println(a3);   //输出11
System.out.println(b3);   //输出21

int a4 = 10;
int b4 = ++a4 + a4;   // 11 + 11
System.out.println(a4);   //输出11
System.out.println(b4);   //输出22

逻辑运算符

&& 逻辑与
书写方式
(判断条件1)&&(判断条件2)
规则:(一假则假)
如果条件1和条件2同时为真,这时整个表达式返回一个真
如果条件1和条件2有一个为假,这时整个表达式返回一个假


|| 逻辑或
(判断条件1)||(判断条件2)
规则:(一真都真)
如果条件1和条件2同时为假,这时整个表达式返回一个假
如果条件1和条件2有一个为真,这时整个表达式返回一个真


! 逻辑非:非真即假 非假即真


关系运算符 < > <= >= !=
a>b 成立返回一个true 反之 返回false
逻辑与短路
当条件1为假时,整个表达式都是假的,这时条件2根本不会执行
int num1 = 10;
int num2 = 5;
boolean b1 = (num1 < num2) && (++num1 > num2);
System.out.println(num1);   //输出10
System.out.println(num2);   //输出5
System.out.println(b1);     //false


逻辑或短路
当条件1为真时,那么整个表达式为真,这时,条件二就不会执行
int num3 = 10;
int num4 = 5;
boolean b2 = (num3 > num4) || (++num3 > num4);
System.out.println(num3);  //输出10
System.out.println(num4);   //输出5
System.out.println(b2);   //输出true

键盘输入

import java.util.Scanner;

Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int num = sc.nextInt();
double d = sc.nextDouble();

流程控制

顺序结构

相当于代码,从上到下,依次执行

分支结构

if语句

if语句有三种格式
  格式一:
  if(判断条件){
      执行体1
  }
  如果判断条件成立,就会执行执行体(大括号中的语句)
  格式二:
  if(判断条件){
      执行体1
  }else{
      执行体2
  }
  如果判断条件成立,就执行执行体1
  反之 不成立, 就执行执行体2
  格式三:
  if(判断条件1){
      执行体1
  } else if(判断条件2){
      执行体2
  } else if(判断条件3){
      执行体3
  } else{
      执行体4
  }
如果判断条件都不成立,就会去执行else中德语句
注意:根据具体的情况,来具体分析来使用哪种形式

switch语句

switch(值){
    case Value:
        语句体1
        break;
    case Value2:
        语句体2
        break;
    case Value3:
        语句体3
        break;
    default:
        语句体4
        break;
}

注意:switch的执行
用值与Value进行匹配,匹配上,就执行语句体1,没匹配上,就继续向下匹配Value2,匹配上,就执行语句体2,如果都没匹配上,就执行default后面的语句体3,break用于跳出Switch语句

思考:什么时候用switch语句 什么时候用if语句

如果你判断的是个区间,使用if比较方便
如果判断的是几个数,那么使用Switch比较方便

循环结构

while循环

while(循环条件){
    循环体
}
如果 判断条件成立 就执行循环体
反之 不成立 则不执行循环体,跳出循环

三目运算符

(判断条件) ? 值1 : 值2
如果判断条件成立 就返回值1
如果判断条件不成立 就返回值2

你可能感兴趣的:(JavaSE)