Java学习(第一日)

 Java语言特点(跨平台):一次编译到处执行,JVM(Java虚拟机)

  1. java编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件运行期:JVM加载.class并运行.class

  2. 编译期:.java源文件,经过编译,生成.class字节码文件

  3. 运行期:JVM加载.class并运行.class

  4. 名词解释: JVM:java虚拟机:加载.class并运行.classJRE:java运行环境 除了包含JVM以外还包含了运行java程序所必须的环境JRE=JVM+java系统类库(小零件)

  5. JVM:java虚拟机:加载.class并运行.class

  6. JRE:java运行环境 除了包含JVM以外还包含了运行java程序所必须的环境JRE=JVM+java系统类库(小零件)

 JDK安装与环境变量的配置:JAVA_HOME Path 

 

手撕hello world

1.记事本编写代码,记事本后缀改为.java

2.cmd中使用javac命令将记事本源码文件编译为字节码文件.class

3.java 类名  执行程序 

 

 在IDE中创建Java项目。在src(源文件夹)下创建Package(包)——>根据作用的不同分为不同的class(类)

 关键字 :开发语言中已经内定以一些单词,并赋予了特殊作用,开发人员只能按照指定的语法进行使用 ;Java中关键字所有字母都是小写

1.48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。

final(定义常量)

final int a = 10;

2.2个保留字(现在没用以后可能用到作为关键字):goto、const。

3.3个特殊直接量:true、false、null。 

注释:

//注释单行

/*注释多行
注释内容
注释内容*/

/**文档注释
注释内容*/

标识符(变量名、类名、方法名、参数名、常量名):

命名规范、规则:标识符只能有字母、数字、$和_组成,首字符不能是数字(中文语法通过,但是不允许) 标识符不能是关键字,可以包含关键字。所有的标识都要见名知意 ,可以缩写,如果影响到见名知意,就不要缩写。

java数据类型包括基本数据类型和引用类型

java基本数据类型 :

整数类型:byte、short、int、long;

浮点型:float、double;

字符型:char

布尔型:boolean

整数类型的取值范围(负数二进制算值要反码加一)

byte       1个字节              -2^7~2^7-1     -128~127       8个bit: 0(表示正负,0正1负)1111111

short      2个字节              16个二进制位             -2^15~2^15-1

int           4个字节              32个二进制位            -2^31~2^31-1

long        8个字节              64个二进制位            -2^63~2^63-1

float        单精度浮点型      四个字节     默认值0.0f

double    双精度浮点型      八个字节     默认值0.0

char        两个字节             0~65535      FF FF(十六进制)

boolean  1或4个字节         true/false     默认值是false

public class test3 {
    public static void main (String[] args){
        //Java的基本数据类型之间的转换
        //数据类型的转换
        //隐式转换(程序会自动完成转换)
        byte numbyte=12;
        int numint=numbyte;
        //取值范围小的类型可以自动转换成取值范围大的值
        numint=128;
        numbyte=(byte)numint;
        System.out.println(numbyte);
        //强制类型转换
        float numFloat=22L;
        numFloat=numint;
        long numLong=122222222;
        numFloat=numLong;
        numint=(int)numFloat;
        //整数和字符之间的转换
        numint='a';
        char numChar=65535;
        numChar='\u0000';
        numChar='\r';
        //'\'叫做转义符
        //boolean类型不能和其他类型转换(强制类型转换也不行);
    }
}

输入:

package com.easy;

import java.util.Scanner;

public class test5 {
    public static void main(String[] args) {
        //扫描器对像   输入流   对象
        Scanner scan=new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int a=scan.nextInt();
        System.out.println((char)a);
        scan.close();//注意使用close()截断输入流
    }
}

输出:

public static void main (String[] args){
    System.out.println();
    System.out.print(11);//必须要有参数
}

进制转换:

public static void main (String[] args){
    int a=0B111;//‘0B’二进制
    System.out.println(a);
    int b=0111;//‘0’八进制
    System.out.println(b);
    int c=0X111;//‘0X’十六进制
    System.out.println(c);
}

运算符:

public static void main(String[] args) {
        //运算符
        //+(加) -(减) *(乘) /(除) %(取余)
        int a=12;
        int b=23;
        System.out.println(a+b);//35
        int c=a+b;
        System.out.println(a-b);//-11
        System.out.println(a*b);//276
        System.out.println(a/b);//0
        System.out.println(a%b);//12
        //整数和整数运算的结果是整数(int)
        //除非有long参与得到结果就是long类型
        //%的结果正负 A%B得到结果正负号和A一样
        System.out.println(12%23);
        System.out.println(12%-23);
        System.out.println(-12%23);
        System.out.println(-12%-23);
        System.out.println("---------------");
        //a++ a-- ++a --a
        a=12;
        a++; //a=a+1;
        //a++在a变量原值基础上+1
        //a--在a变量原值基础上-1
        //a++ ++a
        a=12;
        c=a++;//a++ 后加加  先将a的值赋给表达式,a的值再+1
        System.out.println(c);
        System.out.println(a);
        c=++a;//++a 前加加  先a+1,再将a的值赋给表达式
        System.out.println(c);
        System.out.println(a);
        a=12;
        a=a++;
        System.out.println(a);//12
        a=12;
        a=++a;
        System.out.println(a);//13

    }
 public static void main(String[] args) {
        int i=1, j=2;
        int k = i++ + ++i +j++ + ++j;
        System.out.println(k+","+i+","+j);//k=10,i=3,j=4
        //比较运算符
        // > < >= <= == !=
        //==在基本数据类型中比较的是值是否一样

        //逻辑运算符(用于运算boolean值)
        // &&逻辑与运算符 ||逻辑或运算符 !逻辑非运算符
        boolean result= 12>23 && 23<45;
        //  A&&B  A和B都为true结果才为true
        result=12<23 || 23<45;
        //  A||B  A和B有一个为true结果就为true
        result= !true;

        if(!"123".isEmpty());
        //短路现象  多个表达式运算,前面的表达式已经可以明确整个.表达式的结果,后面的就不需要再运行
        //     false--------->false
        result=12>23 && 23<45;
        int a=0;
        int b=0;
        result= a++<0 && b++>0;
        System.out.println(a+"-----------"+b);
        a=0;
        b=0;
        result= a++>=0 || b++>0;
        System.out.println(a+"-----------"+b);
    }

注意算数运算符优先级‘()’内最高,‘=’运算优先级低

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值