java自我学习成长笔记

Java三大版本

  • JavaSE:标准版(桌面存续,控制台开发)

  • JavaME:嵌入式开发(手机小家电)

  • JavaEE:E企业级开发(web端,服务器开发)

    JDK、JRE、JVM

    JDK:Java Development Kit

    JRE: Java Runtime Environment

    JVM: Java Virtual Machine

安装JDK,配置运行环境

  1. 百度搜索JDK
  2. 下载安装合适的jdk版本
  3. 安装jdk(注意安装路径要记住,最好自定义)
  4. 安装成功后,桌面我的电脑》鼠标右键》属性》环境变量
  5. 系统变量里,添加一个变量,变量名:JAVA_HOME 变量值:安装jdk路径
  6. 点击Path》编辑》添加%JAVA_HOME%\bin ,保存
  7. win+r 打开 运行 ,cmd进入dos命令 javac测试。

HelloWorld

1.新建一个记事本,名字改为Hello

2.文件后缀名改为.java

3.如果没有显示后缀,查看里手动打开显示后缀

4.编写代码

public class Hallo{
	public static void main(String[] args){
        System.out.println("HelloWorld");
	}
}

5.编译java文件,运行class文件。

Microsoft Windows [版本 10.0.18363.778]
(c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\A450\Desktop\练习测试>javac Hallo.java

C:\Users\A450\Desktop\练习测试>java Hallo
HelloWorld

C:\Users\A450\Desktop\练习测试>

注意

  • java每个单词大小写敏感,区分开。

  • 文件名必须和class类名保持一致

  • 符号使用了中文符号会错误

    java程序运行机制

    编译型:用编译器把程序编译的运行程序

    解释型:对速度要求不高时,边执行边解释,随着更新随时可以翻译过来。

    程序运行机制:源程序(*java文件)》Java编译器》字节码(.class文件)》类装载器》字节码校验器》解释器》操作系统平台

    注释

    单行注释 //

    多行注释/**/

    文档注释/** */

    注意:书写注释是一个非常好的习惯

标识符

java所有的组成部分都需要名字。类名、方法名、变量名都被称为标识符

数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义,后使用

弱类型语言

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DdpYsmvC-1589525935978)(C:\Users\A450\AppData\Roaming\Typora\typora-user-images\image-20200515083201458.png)]

java的数据类型分为两大类

  • 基本类型(primitive type)
  • 引用类型(reference type)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FvKfEWt9-1589525935986)(C:\Users\A450\AppData\Roaming\Typora\typora-user-images\image-20200515083611171.png)]

数据类型拓展

整数:

进制 二进制0b 十进制 八进制0 十六进制0x

int i=0;
int i2=010;//八进制0
int i3=0x10;//十六进制0x 0-9 A~F 16
System.out.println(i); 10
System.out.println(i2);8
System.out.println(i3);16

浮点数:

银行业务怎么表示?钱

BigDecimal 数学工具类

float 有限 离散 舍入误差 大约 接近但不等于

double

最好完全避免使用浮点数进行比较

字符:

//所有的字符本质还是数字

编码 Unicode 2字节 0-65536

 public static void main(String[] args) {
        //进制 二进制0b 十进制 八进制0 十六进制0x
        int i=10;
        int i2=010;//八进制0
        int i3=0x10;//十六进制0x 0-9 A-F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("==================================");
        //浮点数拓展 银行业务怎么表示? 钱
        //BigDecimal 数学工具类
        //float 有限 离散 舍入误差 大约 接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        float f=0.1f; //0.1
        double d=1.0/10; //0.1
        System.out.println(f==d);//false
        float d1=232323232131213f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        //=======================================
        //字符拓展
        char c1='A';
        char c2='中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换为int类型
        System.out.println(c2);
        System.out.println((int)c2);
        //所有字符本质是数字
        //编码 Unicode 表:(97=a 65=A) 2字节 0-65536 2 16
        //U0000 UFFFF
        char c3='\u0061';
        System.out.println(c3);
    //==================================
        //转义字符
        // \t 制表符
        // \n 换行

        String sa=new String("hello world");
        String sb=new String("hello world");
        String sc="hello world";
        String sd="hello world";
        System.out.println(sa==sb);
        System.out.println(sc==sd);
        //对象 从内存分析

        //布尔值扩展
        boolean flag=true;
        if(flag==true){}
        if(flag){}
        //Less is More! 代码要精简易读
    }

类型转换

由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

低--------------------------------------------------高

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

运算中,不同类型的数据先转化为同一类型,然后进行计算

  • 强制类型转换

  • 自动类型转换

  • //操作比较大的数的时候,注意溢出问题
    //Jdk7新特性,数字只见可以用下划线分割
    int money=10_0000_0000;
    int years=20;
    int total=money*years;//-1474836480,计算的时候溢出了
    long total2 =money*years;//默认是int,转换之前已经存在问题了?
    long total3=money*((long)years);
    System.out.println(total3);
    

变量

变量是什么:就是可以变化的量!

java是一种强类型语言,每个变量都必须声明其类型。

java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

type varName [=value] [{,varName[=value]}];

//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类型变量。

注意事项:

  • 每个变量都有类型,可以使基本类型,也可以使引用类型。

  • 变量名必须是合法的标识符。

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

    变量作用域

    • 类变量

    • 实例变量

    • 局部变量

      常量

      常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。

      所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

      final 常量名=值;

      final double PI=3.14;

      常量名一般使用大写字符

      变量的命名规范

      所有变量、方法、类名:见名知意

      类成员变量:首字母小写和驼峰原则:monthSalary

      局部变量:首字母小写和驼峰原则

      常量:大写字母和下划线:MAX_VALUE

      类名:首字母大写和驼峰原则:Man

      方法名:首字母小写和驼峰原则:runRun()

      //类变量 static
      static double salary=2500;
      //常量,修饰符,不存在先后顺序
      final static double PI=3.14;
      int i;
      double k;
      //实例变量:从属于对象;如果不子兴初始化,这个类型的默认值 0 0.0
      //布尔值:默认值是false
      //出了基本类型,其余的默认值都是null;
      String name;
      int age;
      //main方法(主程序)
      public static void main(String[] args) {
          //局部变量:必须声明和初始化值
          int i=10;
          System.out.println(i);
          //变量类型 变量名字=new Demo04();
          Demo4 demo4=new Demo4();
          System.out.println(demo4.name);
          System.out.println(demo4.age);
      }
      //其他方法
      public void add(){
      
      }
      

      运算符

      java语言支持如下运算符:

  • 算术运算符:+, -, *, / , %, ++, --,

  • 赋值运算符=

  • 关系运算符:>, <, >=, <=, ==, !=instanceof

  • 逻辑运算符:&&, ||, !

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

  • 条件运算符?:

  • 扩展赋值运算符:+=, -=, *=, /=

自增自减运算符

//++ -- 自增自减 一元运算符
int a=3;
int b=a++;//执行完这行代码后,先给b赋值,再自增
int c=++a;//执行完这行代码前,先自增,再给b赋值
//幂运算 2^3 2*2*2=8 很多运算,我们会使用一些工具类来操作!
double pow=Math.pow(2,3);

//与(and)或(or)非(取反)
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a||b"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为true
System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假,如果是假则变为真
//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
/* A =0011 1100
   B=0000 1101
   A&B=00001100 如果ab同位上都是1则为1否则为0
   A|B=00111101 如果ab同位上有1则为1,否则为0
   A^B=00110001 亦或两同位相同为0,不同为1
   ~B =11110010 取反同位和原来数字相反
   二进制运算
   2*8=16 2*2*2*2
   效率极高
   <<左移 *2  
   >>右移 /2
   2<<3=16
   0000 0000 0
   0000 0001 1
   0000 0010 2
   0000 0011 3
   0000 0100 4
   
 */
   int a=10;
int b=20;
a+=b;//a=a+b
a-=b;//a=a-b
//字符串连接符 +,string
    System.out.println(""+a+b);//字符串在前所以整个运算做了拼接
    System.out.println(a+b+"");//字符串在后所以先运算再进行了拼接

三元运算符

 //x ? y : z
 //如果x==true,则结果为y,否则结果为z
 int score=80;
String type= score< 60 ?"不及格":"及格";

包机制

为了更好地组织类,java提供了包机制,用于区别类名的命名空间。

JavaDoc

javadoc命令是用来生成自己API文档的

参数信息

  • @author作者名

  • @version版本号

  • @since指明需要最早使用的jdk版本

  • @param参数名

  • @return返回值情况

  • @throws异常抛出情况

    doc命令:javadoc -encoding utf-8 -charset utf-8 文件名.java

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值