变量、数据类型和运算符

1.变量:存储数据的空间
2.变量的三要素:
    变量名:方便找到变量中存储的数据
    数据类型:不同的数据类型对应存储不同的数据
        常见的数据类型:int double char String 
    变量值:变量中存储的数据
3.变量的使用
     1.声明变量        数据类型 变量名; 
        int money;
     2.给变量赋值       变量名=变量值;
        money = 50;
        //变量声明并赋值(二合一)
        //int money = 50;
        double hours = 3.5;
        char sex = '男';
        String name = "帅哥";
     3.使用变量        (通过变量名找到变量中存储的数据)使用变量时不加双引号
        System.out.println("我每天消费"+money+"元");
4.变量命名规范
    1.首字母必须以_、英文字母(A-Z、a-z)、$开头,后面可以跟(_、英文字母(A-Z、a-z)、$、数字)
    2.不能使用Java关键字(public class int double)
    3.见名识义(姓名-name 性别-gender、sex 分数-score 年龄-age 地址-address 年级-grade 编号-id)
    4.变量的首字母小写,之后每个单词的首字母大写   eg:stuName  stuId
5.变量使用的常见错误
    1.变量必须先声明并赋值后才能进行使用(声明变量没有赋值   、  变量赋值没有声明)
    2.变量名不合法
    3.Java严格区分大小写,变量不能重复声明(变量名相同)
6.运算符
     1.赋值运算符
        "=":把等号右边表达式的值赋给等号左边的变量
        "+":1.表示两个数相加(+号两边都为数值)2.表示连接符(在+号的一边有String类型的数据)
     2.算术运算符
    + 、—、*、/(5/2=2  5.0/2=2.5)、%(5%2=1)
     3.一元运算符
        ++ 、 -- 自增自减
        int num1=5,num2=2;
        num1++ <==>num1=num1+1;-->num1=6
        num2-- <==>num2=num2-1;-->num2=1
        int a = num1++ 、 int b = num2--:"++"和"--"在后,先赋值后运算(a=num1 num1=num1+1 ; b=num2 num2=num2-1)
        int c = ++num1 、 int d = --num2:"++"和"--"在前,先运算后赋值(num1=num1+1 c=num1 ; num2=num2-1 d=num2)
   4.关系运算符(> < >= <= == !=)
         由关系运算符构成的表达式称为关系表达式 
         关系表达式的结果是true或false 
         存储关系表达式的结果      我们需要声明一个布尔类型(boolean)的变量来接收
     5.逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!) 
         比较之后得到一个boolean
        逻辑与:必须两个都成立才为真(true)
        逻辑或:只要有一个为真就是true
        逻辑非:结果与条件相反
逻辑运算符的优先级:! > && > ||
    注意:
         一、逻辑或(||、|)
            (表达式一)||(表达式2)
                1.如果表达式一为true ,则不再判断表达式2
                2.如果表达式一为false ,则继续判断表达式2
            (表达式一)|(表达式2)
                表达式一和二都必须要判断  得出最终结果
         二、逻辑与(&&、&)
            (表达式一)&&(表达式2)
                1.如果表达式一为false ,则不再判断表达式2
                2.如果表达式一为true ,则继续判断表达式2
           (表达式一)&(表达式2)
                表达式一和二都必须要判断  得出最终结果
     6.三元运算符(? :)
        三元运算符需要三个操作数。
         语法 条件表达式?表达式1:表达式2
        说明问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。
    其逻辑为:“如果为真执行第一个,否则执行第二个。”
         eg: int num1 = 9>5?9:5  -->  num1=9
     7.复杂赋值运算符(+=、-=、*=、/=、%=)
           int num1 = 5,num2 = 2;
          num1+=num2;        //num1 = num1 + num2
          num1-=num2;         //num1 = num1 - num2
          num1*=num2;         //num1 = num1 * num2
          num1/=num2;         //num1 = num1 / num2
          num1%=num2;        //num1 = num1 % num2
7.Java中的数据类型
     1.基本数据类型:byte short int long  float  double char  boolean 
        存储整数:byte(1B  127) short(2B 3W多) int(4B 20亿) long(8B)  -->自动转换  由小到大
        存储小数(整数):float(4B) double(8B)                                           -->自动转换  由小到大
        存储字符:char(2B)(只能存储一个字符 eg:'男')
        boolean:表示真假(只有true和false两个值)
     2.引用数据类型:String 、类、接口
8.数据类型转换
    Type mismatch: cannot convert from double to int 不能将double类型数据转化为int类型
     自动转换:1.转换的数据类型要兼容 2.目标类型要大于源类型                                       由小到大
     强制转换:1.转换的数据类型要兼容 2.目标类型小于源类型  3.可能会丢失精度               由大到小
9.接收键盘输入
import java.util.Scanner;
public class JavaInput {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入姓名:");
        String name = input.next();                //表示接收键盘输入字符串
        System.out.print("请输入性别:");
        char gender = input.next().charAt(0);//表示接收键盘输入单个字符
        System.out.print("请输入年龄:");
        int age = input.nextInt();                     //表示接收键盘输入整数
        System.out.print("请输入身高:");
        double height = input.nextDouble();//表示接收键盘输入小数
        System.out.println("*********个人信息*********");
        System.out.println("姓名:"+name+"\n性别:"+gender+"\n年龄:"+age+"\n身高:"+height);
    }
}
注意:
            在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。


附录1:java关键字
Java关键字
关键字
描述
abstract
抽象方法,抽象类的修饰符
assert
断言条件是否满足
continue
不执行循环体剩余部分
default
switch语句中的默认分支
do-while
循环语句,循环体至少会执行一次
double
64-bit双精度浮点数
else
if条件不成立时执行的分支
enum
枚举类型
extends
表示一个类是另一个类的子类
final
表示定义常量
finally
无论有没有异常发生都执行代码
float
32-bit单精度浮点数
for
for循环语句
goto
用于流程控制
if
条件语句
implements
表示一个类实现了接口
import
导入类
instanceof
测试一个对象是否是某个类的实例
int
32位整型数
interface
接口,一种抽象的类型,仅有方法和常量的定义
long
64位整型数
native
表示方法用非java代码实现
new
分配新的类实例
package
一系列相关类组成一个包
private
表示私有字段,或者方法等,只能从类内部访问
protected
表示保护类型字段
public
表示共有属性或者方法
return
方法返回值
short
16位数字
static
表示在类级别定义,所有实例共享的
strictfp
浮点数比较使用严格的规则
super
表示基类
switch
选择语句
synchronized
表示同一时间只能由一个线程访问的代码块
this
调用当前实例或者调用另一个构造函数
throw
抛出异常
throws
定义方法可能抛出的异常
transient
修饰不要序列化的字段
try
表示代码块要做异常处理
void
标记方法不返回任何值
volatile
标记字段可能会被多个线程同时访问,而不做同步
while
while循

你可能感兴趣的:(java)