学习java的第一天(2024.7.14)

1.jdk: java的开发工具包           java开发环境         jre: java程序的运行环境(只需要运行程序时可以只安装jre)        JVM:java程序的虚拟机
2.配置环境(配置环境变量)    
   JAVA_HOME:JDK根路径
   Path:系统执行文件所在地址          classpath(现在不需要)
3. javac   编译指令  将.java文件编译成.class文件   .class文件又称为字节码文件
    java   类名  运行指定类    JVM解析字节码文件编程系统(WINS)指令
    java跨平台性:JVM将字节码内容解析成系统执行和系统交互,在不同的系统上安装不同版本的虚拟机,就可以执行字节码文件。
4.java语言具有跨平台性的特点,其原因是java代码经过一次编译后,被编译成为字节码文件(即.class文件),字节码文件在不同机器的虚拟机上都可以运行,即具备了一次编译到处运行的能力。
5.创建Java项目:给项目起完名称后,在源文件夹src下创建一个包,准备开始进行编程,包名全部为小写(如com.baidu),在包下创建新的类,注意类名要大写(如Test1)
6.关键字:开发语言中已经内定的一些单词,并且赋予了特殊的作用,开发人员只能按照指定的语法进行使用(java中的关键字所有字母都是小写)比如static  final  void  int  float  double等
7.标识符:标识符包括了变量名,常量名,类名,方法名,参数名,包名等。
   标识符的命名规范:标识符只能由字母,数字,$,_这四种组成,标识符不能由数字开头   (像9Test这种是不行的)
标识符要尽可能满足驼峰命名法(变量numMax,变量numMin)
包名:全部小写         类名:首字母大写        常量名:全部大写
标识符不可以是关键字(但是标识符里面可以包含着关键字如Vvoid)
所有的标识符都要见名知意,可以缩写,但是如果影响到见名知意,就不要缩写
标识符理论上可以是中文,但是平时不能用中文(中文不报错但是不能用)
8.变量:在程序运行阶段中,数值可以变化的量称之为变量
   声明变量:int  a;         声明变量时声明了变量的类型和名称
   变量的初始化:a=1;    第一次给变量赋值称为变量的初始化,如果声明变量后从未进行初始化,则这个变量是无法使用的,即在输出中无法使用或程序中无法当作值计算
   int b = 10;此时声明变量和对变量的初始化放到了一句中
9.常量:在程序运行阶段,不可以发生变化的量叫做常量
   final int numB;    numB=12;
10.数据类型:数据类型分为基本数据类型和引用类型
    基本数据类型:整数型:byte,short,int,long      
                            浮点型:float,double
                           字符型:char
                           布尔型:boolean
byte    1个字节         8个二进制位    -2^7~2^7-1      (-128~127)    默认值为0                byte  num_byte=127;
short   2个字节       16个二进制位   -2^15~2^15-1     默认值为0             short  num_short=1000;
int       4个字节       32个二进制位   -2^31~2^31-1     默认值为0         (int型为整数类型的默认类型)         int  num_int=1000;
long    8个字节       64个二进制位   -2^63~2^63-1     默认值为0                long  num_long=2000L;
float       4个字节    32个二进制位   默认值0.0f(强制类型转换,因为浮点型默认为double型)       float的范围比int要大      float  num_float=12.3f;   num_float=(float) 12.4;  (两种强制类型转换的方式)
double   8个字节    64个二进制位   默认值0.0    double型为浮点型的默认类型          double的范围比long要大         double   num_double=150.899;         
char        2个字节   16个二进制位     0~65535      0~2^15-1            char a='c';(''里只能放一个字符)      char b='C';(单引号''里可以分别为大小写字母)  在本质上char类型为一个数字
\反斜线为转义符            numChar='\r';//回车
                                     numChar='\"';//双引号
boolean   1个或4个字节     只有两个值true(1) / false(0)     默认值为false(0)
        boolean  c=true;       此时占一个字节
        boolean[]  b_arr = {true,false};此时占4个字节
11.数据类型转换:分为隐式转换和强制类型转换
     隐式转换:程序会自动完成的转换    

byte  numByte = 12;  int numInt = numByte;将取值范围小的值可以自动转化成取值范围大的值
numInt=22; numByte=(byte) numInt;  将取值范围大的int类型向取值范围小的byte类型只能强制类型转换         
        float numFloat = 12;
        numFloat=numInt;
        long numLong=122222222;
        numFloat=numLong;                      float类型可以包含int类型和long类型
        整数类型和字符型之间的转换
        numInt='a';
        char numChar=65535;
        numChar='\uFFFF';
     强制类型转换:
        1.大范围向小范围转换时使用强制类型转换
        numInt=(int)numFloat;
        2.整数型和字符型
        输入一个整数将其强制转换为char类型并输出
        public class Test2 {
              public static void main(String[] args) {
                     Scanner scan=new Scanner(System.in);
                     System.out.println("请输入一个0~65535整数:");
                     int a=scan.nextInt();
                     char b= (char) a;
                     System.out.println(b);
                     scan.close();}}
       3.boolean不能与其他类型进行转换(强制类型转换也不可以)
12.输入输出
     输出:System.out.println("111");
     输入(在控制台的输入):Scanner  scan  =  new  Scannner(System.in);          //System.in 是输入流 对象
                                             System.out.println("请输入一个整数:");
                                             int  a = scan.nextInt();        //此处为暂停,等待控制台输入一个值
                                             System.out.println(a);
                                             scan.close();                       //需要对scan进行停止,否则会一直运行,很快系统宕机
13.注释:       单行注释//aaa       多行注释/*aaa*/      文档注释/**aaa**/
14.运算符:    1赋值运算符=     
                      2算数运算符  +  -  *  /  %   ++    --      
        int a=12;
        int b=23; 
        System.out.println(a+b);     35                    注意: //整数和整数运算得到的结果是整数(int)
        System.out.println(a-b);      -11                             //除非有long类型参与,得到的结果就是long类型
        System.out.println(a*b);      276 
        System.out.println(a/b);      0
        System.out.println(a%b);    12
        对于取余运算来说:  %的结果的正负,a%b得到结果的正负号和a一样!!!!!!!!!
        System.out.println(12%23);          12
        System.out.println(12%-23);         12
        System.out.println(-12%23);       -12
        System.out.println(-12%-23);     -12
        a++和++a的区别:
        int  a = 12;
        int  c = 0;                                                 int  a = 12;
        c=a++;                                                    c=++a;
        System.out.println(c,a); //c=12,a=13      System.out.println(c,a); //c=13,a=13 
        a++:先将a的值赋给表达式,再将a+1        ++a:先将a+1,再将a的值赋给表达式
        特殊情况:
        int  a = 12;
        a=a++;
        System.out.println(a);12
        
        int  a = 12;
        a=++a;
        System.out.println(a);14
        3比较运算符   >   <     >=    <=    ==    !=      比较运算符得到的结果是布尔类型boolean
        System.out.println(12>23);false
        System.out.println(12<23);true
        System.out.println(12>=23);false
        System.out.println(12<=23);true
        System.out.println(12==23); false
        //==在基本数据类型中比较的是值是否一样
        System.out.println((12.5==12.5f)+"----------");//此处比较的是仅仅是值
        System.out.println(12!=23);
        4逻辑运算符        逻辑与&&         逻辑或||           逻辑非!                  得到的结果也是布尔类型的
        boolean result = 12>23&&23<34;
        System.out.println(result);     false
        result = 12<23||23>34;
        System.out.println(result);     true
        result = !true;
        System.out.println(result);     false        
        逻辑运算符的短路现象
           1逻辑与中的短路
        result = 12>23&&23<45;     此处判断出12>23为false,则不需要判断&&后面的23<45(即使这个表达式是true)
        int a=0;
        int b=0;
        result = a++<0&&b++>0;   前部的a++<0为false,则后部b++>0不需要执行,被短路
        System.out.println(a+"------------"+b);    a=1    b=0       a=1是因为执行了a++,b=0是因为被短路,直接未执行b++
           2逻辑或中的短路
        a=0;
        b=0; 
        result = a++>=0||b++>0;     前部的表达式a++>=0为true,整个总表达式已经确定为true,无需执行后面的表达式,后部的表达式被短路,不会执行b++
        System.out.println(a+"-----------"+b);     a=1     b=0      a=1是因为执行了a++,b=0是因为被短路

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值