Java基础

JVM-java虚拟机

        JRE(java运行环境)-包含了JVM和java的核心类库(javaAPI)

        JDK(java开发环境)-JRE和开发工具

字面量(先运算再赋值):

              整数,小数,字符,字符串,布尔值,空值

变量:

        两种数据类型:

                一.基本数据类型(四类八种)

                                1.整数(默认0创建数组时)
                                              byte,short,int(默认),long(l或L)
                                2.小数(默认0.0创建数组时)
                                              float(后面加f或F),double(默认)
                                3.字符(默认空字符创建数组时)
                                              char(2字节)
                                             ASCII编码存储
                                                  0:48
                                                  a:97
                                                   A:65
                                              在运算时自动提升为int类型
                                  4.布尔类型(默认false创建数组时)
                                               boolean(1字节)

                二.引用数据类型(默认null)

                字符串(String)

                      ...

               三.数据类型 变量名称 = 初始值

               四.变量一定要有初始值

 

关键字(特殊含义的单词,不能用来命名)

                1.都是小写

 标识符(取名字,见名知意)

                规则

                       1.只能由数字,字母,_,$,¥组成
                       2.不能是关键字
                       3.不能由数字开头
                       4.不能有空格

                规范
                       1.变量采用小驼峰写法helloWorld
                       2.类名采用大驼峰写法HelloWorld

 键盘录入:

       Scanner sca=new Scanner(System.in);
       int s=sca.nextInt();

 Random:   

        Random ran=new Random();
        int r=ran.nextInt(10);

 .var有意想不到的惊喜(创建对象时)


 类型转换:


           1.隐式转换(数据范围从小到大)
                       1.byte,short,char到int;int到long;long到float;float到double
                       2.小的数据类型和大的数据类型运算,小的会提升到大的以后再进行运算。
                       3.特殊:byte,short,char三种数据类型(变量)在运算时无论是否有更高的数据类型,都会提升为int,然后再运算。


           2.强制转换(范围从大到小)
                       目标数据类型 变量名 =(目标数据类型)值或变量
                       注意:有可能会发生精度丢失

   算术运算符:


           注意:java中整数运算只能得到整数,要得到小数,需要浮点数参与运算
           自增:a++(先用后增),++a(先增后用)
           自减:a--,--a

     赋值运算符:


            基本:=
            拓展::+=,-=,*=,/=,%=
            注意:拓展的赋值运算符都隐含了强制类型转换

     关系运算符:(运算结果都为boolean类型,true或false)
           >,<,==,...

     逻辑运算符:(结果为boolean类型)
            &,|,^,!
            &&,||

     三元运算符:
           关系表达式?表达式1:表达式2;

     流程控制语句分类:


           顺序结构:
               从上到下依次执行
           分支结构:
               if:
               switch:
           循环结构:
               for:
               while:
               do...while:

  


     switch:


          switch(表达式){
              case 值1:
                   ...
                   break;
               case 值2:
                   ...
                   break;
               default:
                   ...
                   break;
     
          }
          switch语句的表达式可以是:
               byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String
           注意:case中的break没有写,会出现case穿透的问题
 

    
     死循环:


           for(;;){},while(true){},do{}while(true);

    

跳转控制语句:
          

                 break:循环和switch;(结束语句)
                  continue:循环语句;(跳过本次循环,进行下一次循环)

 

   集成开发环境:


           把代码编写,编译,执行,调试等多种功能综合到一起的开发工具

     数组:(存储同一种数据类型多个元素的容器)


           数据类型[] 数组名
           数据类型 数组名[]
           1.动态初始化:
               int[] arr=new int[5];
               我们给定数组的长度,初始化值由系统决定
           2.索引:
               数组名[索引]
           3.静态初始化:
              int[] arr=new int[5]{1,2,3,4,5}
           4.获取数组长度:
               arr.length

     内存:


           栈内存:方法运行时,进入的内存,局部变量都存放于这块内存当中
           堆内存:new出来的内容都会进入堆内存,并且会存在地址值
           方法区:字节码文件(.class文件)加载时进入的内存
           本地方法栈:调用操作系统相关资源
           寄存器:交给CPU去使用
     
           创建多个数组时
                   每new一次,在堆内存中,都是一块新的空间,堆内存中的空间地址不会出现重复的现象
     
           引用数据类型在赋值时:
                   是将内存地址值进行了赋值
           多个数组引用同一个内存空间时:
                   任何一个数组对象对元素进行修改,都会影响到其他数组对象

     数组反转:
           -i-1;

 方法(分类管理,提高代码复用性):


           就是一段具有独立功能的代码块,不调用就不执行
           1.先创建,再调用
           2.需要手动调用后才执行
           public static 返回值类型 方法名(参数){
               方法体;
               return 数据;
           }

     方法重载(在同一个类中,方法名相同,参数列表不同,与返回值无关):
            1.类型不同
            2.个数不同
            3.顺序不同(毫无意义,但也是重载)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值