JDK,变量,类型

jdk:java development kit-java开发工具包
    --java开发工具
    编译器,调试器,javadoc.exe. java.exe,javac.exe
    --jre(java runtime environment)--java运行环境
       --jvm(java虚拟机):
            使用程序模拟一台计算机,使java程序运行在此jvm上
       --类库(资源库)
jdk和jre的区别:
  jdk是开发环境(开发程序所需要的环境)
     包含开发工具和jre,开发工具:编译器,调试器,javadoc.exe
  jre是运行环境(程序运行所需要的环境)包括jvm和类库
注意注意再注意:
    jdk安装路径一定不能有中文汉字。


程序猿需要的jdk
写好的程序:jre

java语言的一个特点:跨平台(操作系统)。
    因为每个平台上都有自己版本的jvm,而任何版本的jvm都会执行
    class文件(字节码文件)

java语言的运行原理:
        java源文件(.java)
        
        ----编译过程(javac.exe)(检查语法)
             javac  源文件名称(一定要带上扩展名)
             javac Demo.java
        java字节码文件(.class)
           运行过程
        ---开启jvm,运行字节码文件,执行main方法
              java  字节码文件名称(千万不要写扩展名)
              java  Demo
    程序开始跑起来
用文字概述:我们编写了源文件.java文件,通过javac命令调用编译器,
把源文件编译成字节码文件.class,通过jvm运行字节码文件执行main方
法,main方法开始main方法结束。
如果想使用简短的命令名称,我们需要配置jdk的环境变量:
在计算机--属性--高级系统设置--高级--环境变量--
系统变量里
  (1) 新建一个环境变量名为:
      JAVA_HOME
      变量值:DUsersMichaelAppsJavajdk1.8.0_172
        即一堆命令所在的目录bin的父目录
  (2) 新建一个环境变量名为:
      CLASSPATH
      变量值
      .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;
  (3) 找到系统变量里的path 追加值。
      追加的内容如下:
      ;%JAVA_HOME%bin;%JAVA_HOME%jrebin;

检查是否配置成功:
   打开命令提示符界面:
   输入两个命令:
       java -version  回车
       javac          回车

    不出现 不是内部或外部命令.........,即成功

注释有三种:
    1、文档注释
         注释  
    2、多行注释:
          注释  
    3、单行注释:
       注释

    通常:文档注释用于解释类或方法
          多行或单行注释用于解释方法内的逻辑
进入命令提示符界面:
切换盘符
  直接输入 D
cd:表示切换目录(文件夹)
   cd ..  切换到父目录下
   .当前目录
   ..父目录
   如:从D下进入1802里的day01里
      cd 1802day01
   javac.exe:调用编译器对源文件进行编译成字节码文件
          编译期间会检查源文件中的语法
      如果语法没有错误,就会生出.class文件
          有错误,一定不会产生.class文件。

      编译期间的语法错误,我们称之编译错误

=================================================================
变量的命名规则:
   (1)名称由字母,数字,_和$任意组成,数字不能开头
   (2)大小写敏感
   (3)可以使用汉字,但是不建议使用
   (4)驼峰命名法,见名知意
      myDogName = 旺财;
   (5)不能使用关键字(java保留字)
变量的使用规则:
   (1) 必须先定义(声明,创建)和初始化
   (2) 变量可以重复使用,即
       可以进行多次存取操作。
       不需要强调类型,但是存储数据时
       一定要与第一次声明时的类型匹配
   (3) 变量的作用域:变量有自己的使用范围。
       出了范围,变量失效。
       作用域:即从定义开始,
          到所在的大括号的结束符号为止。
       出了作用域:想使用,需要重新定义和
       初始化
=================================================================
java语言的特点,除了跨平台运行,还有一个特点
叫强类型的特点
就是变量必须在定义期间规定一个类型,
赋值时类型必须匹配.
=================================================================
类型:java语言中共分两大类型
(1)基本数据类型-原始数据类型
(2)引用数据类型

基本数据类型:8种
 byte,short,int,long,float,double,char,boolean
 重写归纳分类:
   整数类型:4种
      byte,short,int,long
   浮点数类型:float,double
   字符类型:char
   布尔类型:boolean
(一)整数类型:
    byte(不常用)
         也叫字节类型,在内存中占8位二进制,
         即在内存中占1字节大小的空间,是数据
     存储的最小单位。
         0000 0000   0
     0111 1111   127

     1000 0000   -128
     1000 0001   -127
     1111 1111   -1

     范围:-128~127
     幂表示:-2^7~2^7-1
    short(不常用)
         也叫短整型。在内存中占16位二进制,
     2字节大小。

     0000 0000 0000 0000  0
     0111 1111 1111 1111  32767

         1000 0000 0000 0000  -32768
     1111 1111 1111 1111  -1

     范围:-32768~32767
     幂表示:-2^15~2^15-1    
     int(常用)
         也叫整型。在内存占32位的二进制,
     4字节大小。
     
     范围:-2147483648~2147483647
         幂表示:-2^31~2^31-1
     long(常用):
         也叫长整型。在内存占64位二进制,
     8字节大小。
         范围正负922亿亿左右
         幂表示:-2^63~2^63-1
浮点数类型:2种--小数类型
float  
     在内存中占4字节大小,32位二进制
     范围:
       -3.403E38~3.403E38
double
     在内存中占8字节大小,64位二进制
     范围:
       -1.79E308~1.79E308

字面量默认类型为double,即64位的浮点数类型
      如果想直接写32位的浮点数,需要在数值后
      添加fF

      比如:
       double num = 3.14;
       float num1 = 3.14F;

范围大小从大到小排序:
   doublefloatlongintshortbyte
精度大小从大到小排序:(int,long,float,double)
    longintdoublefloat
=================================================================
字符类型:char
    在内存中占2字节大小,16位二进制。
    赋值特点:
     (1)值中,有且只有一个字符
     (2)字符必须使用单引号引起来。
    另外特点:底层二进制是无符号的整数类型
    即 0~2^16-1---0~65535
    所以,赋值时,也可以赋值整数。但是,存入变量
    空间后,其实是其整数对应的字符。
字符串类型:String
          赋值特点:
          1.必须使用双引号
          2.引号内有0或0个以上的字符都可
          3.字符串可以做拼接操作,拼接后的数据
            仍是字符串类型。
        

java语言默认使用的字符集为unicode。
   unicode字符集:
        无论字母,还是汉字,都占两个字节大小
    'A'---00000000 01000001
    'a'---00000000 01100001
    '0'---00000000 00110000
   什么是字符集:
       即二进制与字符的一一对应关系的表

   GBK
   GBK2312
   UTF-8
        '中'----00010110 01010101
    '中'----00010110 01010101 00010001

   写文件时:采用unicode输入'中'
             00010110 01010101
   打开文件时:采用GBK
         00010110 01010101----好

      编码:将字符---二进制
            写
      解码:将二进制---字符
            读
   java语言常用的字符:
      'A'~'Z' -65~90
      'a'~'z' -97~122
      '0'~'9' -48~57
   java语言中的转义字符:
       ''将特殊字符变成相应意义的字符。
   java语言中的特殊字符:
       单引号,双引号,制表符,换行符,回车符号
       '''  单引号
       ''  双引号
       ''   反斜线
       't'   制表符
       'r'   换行符,(有翻页效果,看不到上一页的数据)
       'n'   回车符,

  需求查看字符集中,某一字符对应的整数
       将字符赋值给int类型的变量即可
       int num = '王';
       int num1 = '从';
       int num2 = '明';
       char c20 = 65;

布尔类型:用来判断条件是否成立的。
    在内存中占1字节大小。
    只有两个值 truefalse
    true表示条件成立
    false表示条件不成立
=================================================================
类型转换
   1.自动转换(隐式转换)
     占内存小的类型变量赋值给占内存大的类型变量,
     会发生自动转换。

     byte b = 5;
     short b1 = b;8位的5赋值给16位5,在前面自动添8个0

     int  c1 = -1;
     long c2 = c1;32位的-1赋值给了64位的c2里,自动填了32个11
  
     long c3 = -1;

     byte--short--int--long--float--double
            char

   2、强制转换
     占内存大的类型变量赋值给占内存小的类型变量,需要
     强制转换。语法如下:
     (占内存小的变量类型名)变量;
     注意:有可能出现精度损失。

     int a = 1;
     byte a1 = (byte)a;
   
     long b = -10;
     int  b1 = (int)b;

     double-float--long--int--short--byte
                              char
=================================================================
引用类型之一
   String字符串类型
          赋值特点:
          1.必须使用双引号
          2.引号内有0或0个以上的字符都可
          3.字符串可以做拼接操作,拼接后的数据
            仍是字符串类型。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值