zoukankan      html  css  js  c++  java
  • java基础汇总

    一、HelloWorld这个模板
    1.模板
    public class HelloWorld{
    public static void main(String[] args){
    System.out.println("这里是你要说的话");
    System.out.println("第二行话");
    }
    }
    2.注意事项
    1)适当缩进tab
    2)所有符号是英文状态下的
    {}[]()""'';
    3)成对编程
    {}()[]""''
    public class HelloWorld{
    public static void main(String[] args){


    }
    }
    4)适当注释--给人用的,程序编译忽略
    //当行注释
    /*
    普通的多行注释
    */
    /**

    文档多行注释
    */
    5)类名的命名规则
    驼峰原则
    每个单词的首字母大写,若是一个字母那么大写。
    A Ab AB HelloWorld
    6)class后的名称要与源文件的名称一致,大小写也必须一致

    7)java是大小写敏感的语言!!!!!
    但是windows是不区分大小写的!!!!!

    8)main(String[] args){}这是程序的入口点
    main()不是程序的入口点
    提示:找不到main方法,找不到主程序,可能的原因:
    1)没有main方法
    2)写了main方法,可是参数不对

    9)一个源文件中可以有多个class,但是至多一个public修饰的class,
    如果有public修饰的class那么源文件的名称与public修饰的class的名称一致,
    如果没有public修饰的class,那么源文件名称随意。
    一个源文件中有多少个class,那么编译以后(javac以后)就会产生多少个.class
    (不推荐一个源文件中写多个class)

    10)见名知意


    二、一些常见问题
    1.java或javac不是内部命令
    原因:环境变量没有配置正确或配置了环境变量但是dos没有重新启动,配置环境变量新dos窗口有效

    三、常识
    1.集成开发环境(IDE:Integrated?Development?Environment)
    JBuilder (http://www.borland.com)(基本淘汰)
    Eclipse (http://www.eclipse.org)****(重点)
    NetBeans(http://java.sun.com)
    四、标识符
    1.作用
    起名
    2.组成
    字母 、数字 _ $
    3.命名规则
    1)不能以数字开头
    2)不建议以$命名类名
    3)不能使用java关键字 110 110 120 征用,关键字都是小写
    4.命名规范
    1)见名知意
    2)命名的驼峰标识,驼峰原则
    a.类名:每个单词首字母大写HelloWorld A MaTianHang Add
    b.变量:首字母小写,然后从第二个单词开始每个单词首字母大写
    a aApple maxValue
    c.方法名:同上
    d.常量:所有字母大写,以_分割
    MAX_VALUE A
    5.字符集
    big5:繁体字
    gbk:
    Unicode:
    五、数据类型
    1.分类:
    1)基本数据类型
    理解:一个盒子
    2)引用数据类型
    理解:两个盒子,第一个盒子存放第二个盒子的地址
    2.基本数据类型
    四类八种
    1)整型
    byte字节
    内存空间 取值范围
    byte: 1字节 -128~127
    short: 2 +-3万
    int : 4 +-21亿
    long: 8 非常大
    2)浮点型(小数)
    float(单精度):4字节 很大
    double(双精度):8字节(范围大,不精确) 灰常大
    3)字符型
    char:2字节 ''放一个字符 'a' '中' “a”不是,是字符串
    4)布尔型
    boolean:1/8字节 相当于1位 true|false
    3.引用类型

    接口
    数组
    六、变量
    1.理解:相当于盒子,一个容器,装的东西可变
    2.分类
    局部变量
    成员变量(实例变量)
    静态成员变量
    成员变量与静态变量统称为属性
    3.声明变量--创造盒子(不声明不能使用)
    类型 变量名称;
    or(或者)
    类型 变量名称= 初始值;

    int a;
    or
    int a = 10;

    double d;
    or
    double d = 0.0;

    char c;
    or
    char c = 'a';

    boolean b ;
    or
    boolean b = true;
    浮点型的特例:
    float的变量的声明
    float f = 1.2f;

    4.使用变量
    1)赋值=赋值符号
    变量名= 变量值;

    2)查看
    System.out.println(变量名);
    int a = 13;
    int b = a;

    5.注意事项:
    1)变量没有声明不能使用
    2)局部变量没有初始化不能使用(除了赋值)
    错误事例: int a;//a没有初始化
    int b = a;


    6.局部变量与属性的区别
    1)位置:
    局部变量:方法内或是{}
    属性:
    成员:类中方法外
    static:类中方法外
    2)作用域
    局部变量:方法结束或是对应的}
    属性:
    成员:属于对象,与对象一致
    static:从属于类,与类一致

    3)声明周期
    局部变量:从声明开始,到}
    属性:
    成员:属于对象,与对象一致
    static:从属于类,与类一致

    4)默认值
    局部变量:没有默认值
    属性:有默认值
    整型:0
    byte short int long
    浮点:0.0
    float double

    char:u0000
    boolean:false
    7.字面值的默认类型
    整型默认类型 int
    浮点型默认类型 double
    七、常量--不能改变的量,一旦赋值不能改变的遍
    1.final关键字
    2.只能初始化一次,不能改变,即使赋值的值与之前值相同也不可以
    3.声明一个常量
    final 类型 常量名;
    常量名= 常量值;

    final 类型 常量名 = 常量值;
    4.常量的命名规则:
    驼峰规则:
    所有字母大写,单词之间以_分割
    eg:
    final int MAX_VALUE;
    OR
    final int MIN_VALUE = 10;
    八、运算符
    1)算术运算符: +,-,*,/,%,++,--
    /:整数相除
    注意除数不能为0
    /:浮点数相除
    除数为0结果是infinity--无穷大∞

    %:最终结果的符号与被除数
    mod1%mod2--结果 的符号与mod1一致
    3%2==1
    -3%2==-1
    -3%-2==-1

    ++i:先自加再使用
    int i = 3;
    int j = ++i;---j ==4,i==4


    i++:先使用再自加
    int i = 3;
    int j = i++;----j == 3 ,i==4

    i--;
    int i = 5;
    int j = i--;---j==5,i==4
    相当于int j = i;i=i-1;


    --i;
    int i = 5;
    int j = --i;---j==4 ,i==4
    相当于:i=i-1;int j = i;



    2)赋值运算符 =
    把=右侧的值赋值给等号多边的变量或是表达式

    3)关系运算符: >,<,>=,<=,==,!= instanceof
    布尔类型
    int a = 3;
    int b = 2;
    if(a>b){

    }
    ==:等于

    !=不等于

    if(a!=b){
    System.out.println("如果a!=b就会被执行,反之亦然");
    }


    4)逻辑运算符: &&,||,! ----短路与,短路或(一旦可以确定结果,就停止运算,进入下一步运算)
    if(今天是星期一并且下雨的话){
    syso(“可以早放学”);
    }
    int a = 3;
    int b = 4;
    int c = 5;
    if((a<b)&&(a<c)){
    System.out.println("如果a是最小值,我就会被打印了…………");
    }
    &&:and并且,与 称作and符-----&&两侧都是true才是true
    ||:or或者,或---||两侧有一个满足条件就是true
    !:非,不是 !=不等于

    f&&f--f
    f&&t--f
    t&&f--f
    t&&t--t
    &&一旦有一个为false结果就为false


    f||f--f
    f||t--t
    t||f--t
    t||t--t
    ||一旦有一个为true结果就为true



    5)条件运算符 ?: 唯一三目运算符
    布尔表达式|条件表达式?值1:值2
    表达式的值为true时,取值1,反之取值2
    int a = 3;
    int b = 4;
    boolean c = a>b?false:true;
    int d = a>b?10:200;
    String str = a>b?"true":"false";
    char ch = a>b?'a':'中';
    char ch2 = a>b?97:65;




    6)扩展赋值运算符:+=,-=,*=,/= %=(求模 mod)
    a+=2;----a= a+2;
    a-=2;-----a=a-2;

    推荐使用,因为底层存在优化,效率高

    九、String的+
    +:两侧都是数字,就是加法
    两侧至少有一个为字符串,“”,+代表拼接
    System.out.println("a+b="+(a+b));

    十、类型转换
    1.自动类型转换
    小--大
    int a = 10;
    double d = a;
    long lon = a;
    lon = 10;
    lon = 22亿L;---建议添加L,而不是l,防止混淆


    2.强制类型转换
    大--小
    double d = 1.2;
    int a = (int)d;
    十一、特殊
    1.int,short,byte之间的运算都相当于int与int之间的运算

    十二、控制语句
    1.顺序
    从上往下执行

    2.选择
    单选择
    if(布尔表达式){

    }
    双选择
    if(布尔表达式){
    //如果if的条件成立,则执行if里的语句,否则执行else里的语句
    }else{

    }
    多选择
    if(){
    }else if(){
    }else if(){
    }else{
    }

    题目:考试等级,输入分数,查询分数对应的等级



    switch(int|char|jdk1.7以后可以放字符串){
    case 值1:
    break;
    ………………
    default:
    }
    1)下穿--当一个值满足条件,则从这个开始一直执行,到结束或是遇到break为止
    2)下穿一定有害:可以利用


    3.循环
    重复执行
    while
    打印十行*******
    syso(“*******”)
    syso(“*******”)
    syso(“*******”)
    syso(“*******”)
    syso(“*******”)
    syso(“*******”)
    int i = 0;
    if(i<10){
    syso("********");
    }
    i++;
    if(i<10){
    syso("********");
    } i++;
    if(i<10){
    syso("********");
    } i++;
    if(i<10){
    syso("********");
    } i++;
    if(i<10){
    syso("********");
    } i++;
    if(i<10){
    syso("********");
    }
    i++;
    if(i<10){
    syso("********");
    }
    使用循环:
    int i = 0;//初始表达式
    while(i<10){//条件表达式
    syso("********");//循环体
    i++;//迭代因子
    }

    if与循环的区别:if至多执行一次,循环可能执行多次

    do{//仅作了解……………………
    //先执行,后判断
    }while();//分号不能少


    int i = 0;
    do{
    syso("********");//循环体
    i++;//迭代因子
    }while(i<10);

    while与dowhile的区别:dowhile至少执行一次,while可能一次也不执行


    for(初始表达式;条件表达式;迭代因子){
    //循环体
    }
    for(int i = 0;i<10;i++){//for;;不能少
    syso(“********”);
    }

    for与while应用场合:
    for通常用于可以确定循环次数
    while一般用于不确定循环次数


    关键字:
    break:跳出一层循环
    continue:跳出本次循环,进入下一次循环

    题目:猜数,直到猜对为止,随机数一旦产生不发生改变,不停的输入,比较,直到猜对为止


    十三、随机数
    1.Math.random();
    2.随机整数
    int min = 12;
    int max = 100;
    int rnd = (int)(Math.random()*(max-min+1)+min);


    十四、与控制台交互
    1.Scanner
    2.使用的步骤
    a.定位
    import java.util.Scanner;
    b.买
    Scanner tool = new Scanner(System.in);
    c.用
    int age = tool.nextInt();
    double money = tool.nextDouble();
    String str = tool.nextLine();--防止见好就收(前边有nextInt或是nextDouble残留了回车符号)













  • 相关阅读:
    最大相邻差值 数学 桶排序
    hdu-1536 S-Nim SG函数
    博弈论初步(SG函数)
    hdu-5009 Paint Pearls DP+双向链表 with Map实现去重优化
    hdu-5015 233 Matrix 矩阵快速幂
    hdu-1430 魔板 康拓展开+映射优化
    hdu-1043 bfs+康拓展开hash
    康拓展开-排列的hash
    Daily Scrum 12.23
    Daily Scrum 12.22
  • 原文地址:https://www.cnblogs.com/taozizainali/p/10913061.html
Copyright © 2011-2022 走看看