zoukankan      html  css  js  c++  java
  • java初级笔记

    1:java核心优势:跨平台,一次编译,四处运行,只要安装了对应的jvm虚拟机;

    2:JVM其实就是一种规范,就是一个虚拟的用于执行bytecode字节码的计算机;

    3:数据类型分为四类八种,整数型(byte,float,int,long),浮点型(short,double),字符型(char),布尔型(Boolean【true,false】),如果是浮点型运算,建议使用bigDecimal,double会损失精度;

    4:关于逻辑运算符,短路与(&&) 和 逻辑与(&),前者是只要运算第一个为false,则不再进行运算,逻辑与则是两边都参与运算;

    5:程序自身调用自身的编程技巧叫做递归,子问题和上层问题一样,可以调用自身,但是数据大不建议使用,递归会大量占用系统堆栈,比循环效率也低,能用递归解决的问题,循环也可以做到,但是循环解决的问题,递归不一定能做;

     

    一.标识符

    标识符的作用:用来给变量,常量,类,包等方法起名;

    标识符的规则:1:由字母,数字,美元符,下划线组成;

      2:不能是数字开头,区分大小写;

      3:长度无限制;

    规范:1:见名知意;

      2:命名遵循驼峰原则;

    二.数据类型

    数据类型分为引用数据类型和基本数据类型

    引用类型:数组,类,接口;

    引用数据类型与基本数据类型的区别是什么?

    一个小盒子指向另一个盒子,小盒子引用盒子的地址(引用类型)

    一个盒子(基本类型)

     

    基本数据类型:

    数值型:

                                         整形:

                                                   名称:              符号                   范围                                     大小        

                                                   字节型:    byte              -128-127             1个字节

                                                   短整型              short                  [-32768,+32767]         2个字节

                                                   整形                   int                       +-21亿                     4个字节

                                                   长整型              long               很大                               8个字节

                                                   数值型的字面值默认是int类型,字面值也称之为字面常量

                                        

    浮点型:

                                                   名称                   符号                   精度     大小

                                                   双精度              double               14位        8个字节

                                                  单精度              float          7位           4个字节

                                                   浮点型的字面值默认是double类型

                               

    字符型:

                                                   名称                   符号                   大小

                                                   字符型              char          2个字节

    逻辑型:

                                                   名称                   符号                   大小

                                                   逻辑型              boolean        1位

    只有true和false

                                         注意:

                                         1:数据类型当中  后缀有   :   L l  、 f  F、 D  d

    2:char类型的字面值需要单引号引起来,而且一个char变量只能储存

                                         一个字符;

                                         3:在赋值时可以给定一个不超过65535的值 程序在执行期间会自动找到                                      整数对应的字符

                                         4:在字符集合中char类型的值可以转换为一个正整数,可以参与四则运                             算,但是需要考虑类型转换问题。

    数据类型转换

    自动转换:

                        大类型变量 = 小类型数据

                       byte  short  char  int  long  float  double

    强制转换:  (基本数据类型中的强转一般用的比较少 损失数据精度)

                        类型变量 = (小数据类型)大类型数据;

            

    1.如何给不同的数据类型 赋字面常量值

    给整数赋值:

    为了提高代码的阅读效率 可以在数值之间加入1个或者是N"_";

               十进制 

               16进制         以"0x""0X" 开头  + 16进制的值

               8进制       以"0" 开头  +  8进制的值

               2进制           以"0b" 开头 +  2进制的值

    给小数赋值:

               1、如果0省略不改变其值 可以省略

               2、正常赋值小数

               3、科学计数法:

                     小数E/e(整数) :

                                正整数  增大10 整数次方

                                负整数  减少10 整数次方

         

         

                    

    字面常量:”ABC”,21,’d’

                       符号常量:

                                通过final修饰的变量称之为符号常量也称之为最终变量

                                符号常量在程序运行期间其值不可发生改变

                                符号常量的常量名 所有单词的字母均大写  如果是多个单词 单词之间通过                       下划线分割

                       符号常量:

                       SHANG_HAI_SHANGZ_XUE_TANG

    关键词final

    单目和双目以及多目(元)

    运算连接的操作数的个数 决定了当前运算符属于单元/目.

    2.常用的Dos命令

    打开dos窗口    Win+R

    盘符+:         切换盘符  (Windows下大小写不敏感)

    cd +           同一盘符下的路径    ? 切换目录

    cd ..           返回上一层目录

    cd/            回到当前盘符的根目录

    ↑  ↓        在之前使用过的命令之间切换

    dir            显示当前目录的内容

    cls            清屏

    exit           退出

    Tab           补齐

    3. 电脑快捷键

    Ctrl + S                              保存

    Ctrl + C                             复制

    Ctrl + V                                        粘贴

    Ctrl + X                     剪切

    Ctrl + A                     全选

    Ctrl + Z                      撤销

    Ctrl + Y                      重复

    Win + D                     快速回到桌面

    Win + R                      打开Dos窗口

    Win + Tab                    切换窗口

    Atl + Tab                     切换选项卡

    Atl + F4                       关闭当前窗口

    Ctrl + Alt + Delete               打开任务管理器

    Win  +   L                     锁屏

    4. 转义字符

    ‘特定字母’

          退格

           Tab键

          换行

           回车

    ’      单引号

    ”      双引号

    \      斜杠

    5.键盘录入和随机生成数字

    double num=Math.random();   生成一个【0——1】之间的数据

    int a=(int)(Math.random()*40+60)   //随机抽出60到100之间的数

     

    返回值关键字 return

     

    键盘录入:

             1、导包   import  java.util.Scanner;

             2、创建对象   Scanner sc = new Scanner(System.in);

             3、使用对象   int num = sc.nextInt();

             4、后续操作

    三.运算符

    运算符分为:

    运算符优先级:

    1:()先计算括号里的;

    2: 一元运算符>二元运算符>三元运算符;

    3: 算数运算符>关系运算符>逻辑运算符>条件运算符(三目运算符)>赋值运算符(扩展运算符也属于赋值运算符)

    1:算数运算符;+,-,*,/,%,++,--

    用于数据类型的

    2:赋值运算符;=

    3:扩展赋值运算符;+=,-=,*=,/= ,%=

    扩展运算符:属于算数运算符的一种(+=,-=,/=,*=,%=)

    特点:

    1:提高开发效率,简单;

    2:编译的速度会提高,编译后的class文件都是扩展运算符

    3:不利于阅读。

    4: 扩展运算符在运算数据时对数据产生强制类型转换;

    4:关系运算符,>,<,>=,<=,==,!=

    关系运算符:

    1:关系运算符得到的类型是boolean类型的值,(true或者false)

    5:逻辑运算符; &&,||,!

    逻辑运算符:

    使用逻辑运算符连接的操作数只能是boolean值,返回的值也是boolean值;

    1:&& 和&:逻辑与:当连接的操作数都为true才为true,有一个为false,结果则false

    2:||  和|:逻辑或:当连接的操作数只要有一个为true,结果则为true,

    3  逻辑异或^:连接的操作数相同为假,不同则结果为真;

    4  !非:取反,false变为true,true变为false;

    短路与和逻辑与的区别是,短路与只要第一个是false,则不再往下运行;

    短路或和逻辑或的区别是,短路或只要第一个是true,则不再往下运行;

    6:位运算符;&,|,^,~ , >>,<<,>>>

    7:条件运算符;?:

    条件运算符:(三元运算符,三目运算符)

    1:表达式1?表达式2:表达式3

    表达式1结果为true时,结果为表达式2,表达式1结果为false时,结果为表达式3。

    2:条件运算符一定程度上替代了if else;

    四.流程控制语句

    1:顺序结构;

    在main方法里面的语句就是顺序结构,从上到下,逐条输出;

    2:选择结构

    If结构:单支结构;分支结构,多分支结构;

    If(布尔表达式){

    代码快

    }else If{

    }else if{

    }else{}

    switch(表达式){

    Case 值1:执行语句;break;    break作用:防止case穿透;

    Case 值2:执行语句;break;

    Case 值3:执行语句;break;

    Case 值4:执行语句;break;

    default:其他情况;

    }

    Break防止穿透最后一个语句后面可以不加,default可以放在任何位置,但是一般放在最后一个。

    If和switch的区别:

    1:同样是分支结构;

    2:if区间判断,switch是等值判断;

    3:能用switch做的用if也能用,但是能用if的不一定能用switch;

    4;switch的表达式不能使用浮点型和逻辑性的数据;

    5:    1.5以后能用枚举,1.7以后能用String字符串;

    3:循环结构;

    While;do.....while;for

    While(布尔条件表达式){

    循环体;

    迭代因子;

    }

    do{

    循环体

    }while(条件表达式)

    While和do..while的区别是一个是先判断,后执行;一个是先执行,后判断;

    for(初始表达式;布尔表达式;迭代因子){

    循环体

    }

    4:关键字

    Continue:

    用法:用在控制语句中;

    作用:跳出本次循环,执行下一次循环;

    特点:只能跳出本层循环,执行下一次循环;

    Break:

    用法:Switch语句,循环中;

    作用:在swit中防止case穿透;跳出当前循环;

    注意:break后面不能写语句,否则会报错;

    return:

    作用:调出当前方法;

    5:变量的作用域

    测试的变量的生命周期/作用域

        变量的三要素:

             数据类型   变量名  作用域

      变量根据声明的位置:

             局部变量

                       声明在方法中或者是代码块中的变量

                       代码块: {} 一组大括号括起来的称之为代码块

                       注意: 局部变量的生命周期 作用域只能在当前声明的方法中或者是代码块中有效 

       实例变量/成员变量/全局变量

             声明在类的类体中 方法外的变量

                       在整个类中都有效  作用域就是整个类

                       注意: 不能再一个static的方法方法中使用一个非static修饰的变量

                       如果想使用:

                                1、在变量的前面加static

                                2、Scanner input = new Scanner(System.in);

                                   类名 变量名 = new 类名();  类名就是当前变量隶属于那个类 存在于那                           个类中

                                   变量名.成员变量;

      成员变量: 

       如果没有赋值 可以直接使用  因为存在默认值。

       整形 默认值 0

       浮点型默认值: 0.0

       boolean false

       char  'u0000' 1个空格

       String 引用类型  --->null

       局部变量:

       如果要使用时  必须初始化 赋值。赋值之后才能使用

    递归:在方法中自己调用自己方法;

    一定要有出口--->递归头;

    递归的特点:

    1:简单(一定要找到递归头);

    2:吃内存;

      java.lang.StackOverflowError      SOF错误。栈内存溢出

    方法重载:

    方法的签名(方法名+形参);

    形式参数就是可以从外界接收数据实际参数就是传给形参的参数

     

    一个类中可以定义有相同的名字,但参数不同的多个方法

    调用时,会根据不同的参数表选择对应的方法。

    判断依据

    同一个类

    同一个方法名

    不同:参数列表不同(类型,个数,顺序不同)

    注意

    1:只有返回值不同不构成方法的重载;

             int   a(String str){},

             void  a{String i}, 

    2:只有形参的名称不同,不构成方法的重载;

  • 相关阅读:
    54、servlet3.0-ServletContainerInitializer
    53、servlet3.0-简介&测试
    52、[源码]-Spring源码总结
    51、[源码]-Spring容器创建-容器创建完成
    50、[源码]-Spring容器创建-Bean创建完成
    49、[源码]-Spring容器创建-创建Bean准备
    48、[源码]-Spring容器创建-初始化事件派发器、监听器等
    Atom编辑器入门到精通(四) Atom使用进阶
    Atom编辑器入门到精通(三) 文本编辑基础
    Atom编辑器入门到精通(二) 插件的安装和管理
  • 原文地址:https://www.cnblogs.com/grasslucky/p/8886651.html
Copyright © 2011-2022 走看看