标识符(biao zhi fu)

  • 包,类,变量,方法等只要是起名字的地方,那个名字就是标识符
  • 标识符定义规则:
  • a.由数字,字母,下划线_,美元符号$组成
  • b.不可以以数字开头,不可以使用Java中的关键字
  • c.见名知意:增加代码的可读性
  • d.大小写敏感
  • e.驼峰命名法:         (1).类名:首字母大写,其余遵照驼峰命名法


        (2).方法名,变量名:首字母小写,其余遵循驼峰命名               (3).包名:全部小写,不遵循驼峰命名

  • f.长度无限制,但是不建议太长

关键字


被赋予特殊含义,有专门的用途的单词;Java中所以关键字都为小写 官网地址:          https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html            

java 数据库 savaAll 判断重复 java重复数据的判断_变量名

常量和变量


常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。 在Java语言中,主要是利用关键字final来定义一个常量。常量一旦被初始化后不能再更改其值。 为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量(字符常量)。 (1).常量分为两种: 字面常量的类型:

java 数据库 savaAll 判断重复 java重复数据的判断_变量名_02


     注意:逻辑常量就两个值,一个是true,一个是false (2).变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。比如,int a=3; 表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。 【1】变量声明格式: type varName =value...]; //[ ]中的内容为可选项,即可有可无 数据类型 变量名 [=初始值] [,变量名 [=初始值]…]; 案例:

int  age = 19 , age2 = 90  ; int  age,age2;


【2】变量的声明: a. 如果你只定义一个变量,没有给变量进行赋值的话,那么其实这个变量相当于没有定义:

java 数据库 savaAll 判断重复 java重复数据的判断_java中计算2亿的int数值重复数据_03


b.我们自己定义的时候直接就可以用一句话定义:

int age = 10; 
  变量的值可以更改:public class TestVar01{public static void main(String[] args){//变量的声明(定义变量)(以年龄为案例讲解)//java是一个强类型的语言,只要声明变量就必须定义类型:定义整数类型int age ; //定义一个整数类型的变量,变量名字为age //对变量进行赋值操作:
              age = 10; //变量名字为age,具体的值为10 
              age = 12;
              age = 20;
              age = age + 4;
              age = 9;
              age = 9;
              System.out.println(age);
          }
    }


c. 变量不可以重复定义:

java 数据库 savaAll 判断重复 java重复数据的判断_java中计算2亿的int数值重复数据_04


d. 变量的使用:

public class TestVar01{public static void main(String[] args){//变量的声明(定义变量)(以年龄为案例讲解)//java是一个强类型的语言,只要声明变量就必须定义类型:定义整数类型int age ; //定义一个整数类型的变量,变量名字为age //对变量进行赋值操作:
              age = 10; //变量名字为age,具体的值为10 
              age = 12;
              age = 20;
              age = age + 4;
              age = 9;
              age = 9;
              System.out.println(age);
              System.out.println(age-2);
              System.out.println(age+10);int num = age + 66;
              System.out.println(num);
          }
      }
      扩展:public class TestVar02{public static void main(String[] args){int a = 10;int b = 20;int c = a + b ;
           }
        }


e.变量的内存:

java 数据库 savaAll 判断重复 java重复数据的判断_System_05


f.习题:

public class TestVar03{public static void main(String[] args){int num1 = 10;int num2 = 20;
                  num1 = num2;
                  num2 = num2 + 10;
                  num1 = num2 - 10;
                  num2 = num1;
                  System.out.println("num1="+num1);
                  System.out.println("num2="+num2);
              }
          }



java 数据库 savaAll 判断重复 java重复数据的判断_java中计算2亿的int数值重复数据_06


g.变量的作用域: 作用域指的就是作用范围,变量在什么范围中有效 作用范围就是离它最近的{}

基本数据类型


(1).整型:

java 数据库 savaAll 判断重复 java重复数据的判断_赋值_07


(2).浮点型:

java 数据库 savaAll 判断重复 java重复数据的判断_System_08


float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。 而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。 float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。 PS:有效数字指的是从左开始第一个不为0的数到最后一个数. (3).字符类型:

java 数据库 savaAll 判断重复 java重复数据的判断_System_09


(4).boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。boolean类型用来判断逻辑条件,一般用于程序流程控制 。

java 数据库 savaAll 判断重复 java重复数据的判断_java中计算2亿的int数值重复数据_10

进制


每一个八进制位可以等价替换为三个二进制 每一个十六进制可以等价替换成四个二进制 八进制06743 = 006743 = 110111100011 十六进制0x9E3 = 09e3=100111100011 2^0=1 2^1=2 2^2=4 2^3=8 在使用二进制表示数字的时候,一个字节中最高位(左侧)不是用来表示数字大小的, 而是用来表示数字正负的,0代表正数,1代表负数. 有的数据存储和运算,都是以补码的形式进行的,将数据计算出结果,对结果再进行补码 原码:二进制表示形式,就是原码 反码:正数的反码与原码相同;负数的反码就是原符号位不变,其他按位取反 补码:正数的补码与原码相同;负数的补码是反码+1 进行两数运算时: 两个操作数有一个为double,计算结果提升为double 如果操作数中没有double,有一个为float,计算结果提升为float 如果操作数中没有float,有一个为long,计算结果提升为long 如果操作数中没有long,有一个为int,计算结果提升为int 如果操作数中没有int,均为short或byte,计算结果仍旧提升能够为int 特殊:任何类型与String相加时,实为拼接,其结果自动体上升为String

类型转换


【1】什么是类型转换:         在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。 【2】类型转换的种类: 自动转换,强制转换 【3】内存演示:

java 数据库 savaAll 判断重复 java重复数据的判断_赋值_11


【4】代码:

public class TestVar10{public static void main(String[] args){//类型转换的两种形式:double d = 6;//int-->double 自动类型转换
          System.out.println(d);int i = (int)6.5;//double--->int 强制类型转换 (强转)
          System.out.println(i);//在同一个表达式中,有多个数据类型的时候,应该如何处理://多种数据类型参与运算的时候,整数类型,浮点类型,字符类型都可以参与运算,唯独布尔类型不可以参与运算//double d2 = 12+1294L+8.5F+3.81+'a'+true;double d2 = 12+1294L+8.5F+3.81+'a';
          System.out.println(d2);/*
          类型级别:(从低到高的)
          byte,short,char-->int--->long--->float--->double
          级别用来做什么?当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后
          其余的类型都转换为当前表达式中级别最高的类型进行计算。
          double d2 = 12+1294L+8.5F+3.81+'a';
                = 12.0+1294.0+8.5+3.81+97.0
                          */int i2 = (int)(12+1294L+8.5F+3.81+'a');
          System.out.println(i2);/*
              在进行运算的时候:
              左=右 : 直接赋值
              左              左>右 :直接自动转换
          *///以下情况属于特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行//强转了直接赋值即可。byte b = 12;
          System.out.println(b);byte b2 = (byte)270;
          System.out.println(b2);
          }
    }

控制台输入


(1).import报名.类名;//将外部class文件的功能引入到自身文件中 importjava.util.Scanner; 声明Scanner类型的变量 使用Scanner类中对应的方法(区分类型): .nextInt();获取整数 .nextDouble();获取小数 .next();获取字符串 .next().charAt(0);获取单个字符 如果输入了不匹配的数据,则会产生java.util.ImputMismatchException (2).代码示例:

import java.util.Scanner;public class Test_Homework{public static void main(String[] args){
  Scanner sc = new Scanner(System.in); //拿到扫描器//提示,在这输入你的姓名
  System.out.print("Please input your name here: ");//定义一个字符串类型来接收
  String name = sc.next();
  System.out.print("Please input your age here: ");int age = sc.nextInt();
  System.out.print("Please input your gender here: ");
  String sex = sc.next();
  System.out.println("Your name is: " + name);
  System.out.println("Your age is: " + age);
  System.out.println("your gender is: " + sex);
}
}