美文网首页
20160724------JAVA基本语法[标识符、数据类型、

20160724------JAVA基本语法[标识符、数据类型、

作者: shallwego_ | 来源:发表于2017-03-14 16:20 被阅读0次

二、 基础语法
第一段程序:

public class HelloWorld{
    public static void main(String[] args){
        System.out.println(“Hello World!”);
    }
}

1、标识符:

  • Java中凡是需要取名字的地方都叫做标识符。
  • 标识符可以由字母、数字、下划线、和美元符号组成。
  • 标识符的首字母不能是数字,且标识符是区分大小写的。
  • 标识符不能包含空格,不能包含@#等特殊符号。
  • Java中定义的关键字、保留字不能作为标识符但可以包含如:class private static public void。
  • 类名的每个单词的首字母大写:方法名、变量名第一个单词的首字母小写,其他单词的首字母大写。

2、数据类型

(1)基本数据类型:四类八种

  • 整型:

  • byte:8位,范围:-128(-27)~127(27-1),默认为0
    【强制转换:byte number=(byte)128;】

  • short:16位,范围:-215~215-1;

  • int:32位,范围:-231~231-1

  • long:64位,范围:-263~263-1 数据后面需要加L.

  • 字符型:

  • char
    表示单个字母,字符敞亮必须使用单引号‘‘括起来,如:‘A’;
    [字符串string不是基本数据类型,是引用数据类型]

  • 浮点型:

  • float : float类型数据需要在后边加上f

  • double

  • 布尔型:
  • boolean(true /false)默认为false

(2)数据类型排序:

(3)类型转换:

  • 自动数据类型转换:系统支持直接把某种数据类型的值直接赋给另外一种数据类型。
  • 强制类型转换:如果要把上图右边的数据类型转换为左边数据类型,则需要强制类型转换。强制类型转换格式为:(数据类型)值。例如:(int)size
    【强制类型转换应数以溢出,精度丢失(double转int,int转byte)】
//TestConvert
public class TestConvert {
    public static void main(String arg[]) {
        int i1 = 123; 
        int i2 = 456;
        double d1 = (i1+i2)*1.2;//系统将转换为double型运算
        float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
        byte b1 = 67; 
        byte b2 = 89;
        byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需
                                //要强制转换符
        System.out.println(b3);
        double d2 = 1e200;
        float f2 = (float)d2;//会产生溢出
        System.out.println(f2);

        float f3 = 1.23f;//必须加f
        long l1 = 123;
        long l2 = 30000000000L;//必须加l
        float f = l1+l2+f3;//系统将转换为float型计算
        long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)

    }
}

修正下列代码中的编译错误或者可能产生的溢出:

//TestConvert2
public class TestConvert2 {
    public static void main(String[] args) {
   
    int i=1,j=12;
    float f1=(float)0.1;  //0.1f  0.1是double类型,需要强制类型转换
    float f2=123;
    long l1 = 12345678,l2=8888888888L;//l2必须加L,否则会产生溢出
    double d1 = 2e20,d2=124;
    byte b1 = 1,b2 = 2,b3 = 127;//byte类型的范围是(-128~127)
    j = j+10;//变量必须赋值才能使用
    i = i/10;
    i = (int)(i*0.1);//运算后为double类型,需要强制类型转换
    char c1='a',c2=125;
    byte b = (byte)(b1-b2);//运算后为int类型,需要强制类型转换
    char c = (char)(c1+c2-1);////运算后为int类型,需要强制类型转换
    float f3 = f1+f2;
    float f4 = (float)(f1+f2*0.1);//运算后为double类型,需要强制类型转换
    double d = d1*i+j;
    float f = (float)(d1*5+d2);


    }
}

3、常量、变量

(1)常量:

常量是在程序运行中,值不能改变的量。用final定义。
语法:final<数据类型><常量名>=<初始值>

整型常量:123
实型常量:3.14
字符常量:'a'
字符串常量:"helloworld"
逻辑常量:true、false

(2)变量:

从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域。因此,没一个变量使用前必须要先声明,然后进行赋值,才能使用。

4、内存分析(←点击看视频讲解)

内存分为堆、栈、方法区。

  • 栈(stack):
  • 存放局部变量。
  • 线程私有,不能实现线程间的共享。
  • 先进后出。自动分配,连续内存空间,效率高。
  • 堆:
  • 存放new出来的对象。
  • 不连续内存空间,分配灵活,效率低。
  • 方法区:
  • 存放永远不变而且唯一的文件。(类代码信息、静态变量、字符串常量
  • 被所有线程共享。
  • 不连续内存空间,分配灵活,效率低
//内存分析
public class Test{
    public static void main(String [] args){
    Car c1=new Car();
    c1.changeColor("红色");
    c1.showColor();
    System.out.println(Car.typeNum);
    System.out.println(c1.typeNum);

    Car c2=new Cae();
    Engine e=new Engine();
    e.speed=1000;
    e.weight=e;
    c2.engine=e;
    c2.color="黑色";

    c2.typeNum=10;
    System.out.println(c1.typeNum);
    }
}

class Car{
    static int typeNum=4;
    Engine enging;
    String color;

    void changeColor(String c){
        color=c;
    }

    void showColor(){
        System.out.println("我的颜色是:"+color);
    }
}

class Engine{
    int speed;
    int weight;
}

内存分析图:


-------static变量和方法内存分析---------

  • static变量和方法存放在方法区内 **[ 属性ss和方法printSs() ] **,从属于类,只能调用同为static的变量和方法。调用static变量和方法时,直接调用类。
  • 而非static变量和非static方法存放在堆中 **[ 属性name,id和方法study(),sayHello() ] ,调用时必须先实例化对象[ new ] **,同时加载类信息,可以调用static变量和方法。

-------this关键字------

构造方法中,this是隐式参数,this.name指向括号中的name对象:



this不能用于static方法,因为static方法不指向对象。

相关文章

  • 20160724------JAVA基本语法[标识符、数据类型、

    二、 基础语法第一段程序: 1、标识符: Java中凡是需要取名字的地方都叫做标识符。 标识符可以由字母、数字、...

  • JS简介

    HelloWorld JS编写位置 JS基本语法 字面量和变量 标识符 数据类型

  • 前端(js)

    js基本语法 字面量和变量 标识符 数据类型 一元运算符

  • HTML-09day

    1、字面量和变量 2、数据类型 3、JS基本语法 4、标识符 5、JS简介

  • HTML 日常了解8(js篇)

    HelloWorld js编写位置 js基本语法 字面量和变量 标识符 数据类型 Number Boolean N...

  • 2018-11-28

    HelloWorld js编写位置 js基本语法 字面量和变量 标识符 数据类型 Number Boolean N...

  • Day06-字典、元组、集合

    上周知识回顾1.python基本语法单行注释标识符行与缩进基本数据类型(整型(int)、浮点(float)、布尔(...

  • 2019-12-27 Java学习第3天

    Java基本语法 Java中的关键字、保留字 标识符与命名规则image.png 变量与数据类型:byte , ...

  • day2_python基础语法

    今天总结的python基础语法包括注释、标识符、基本以及缩进与行、数据类型、变量简单介绍。 1 1.1、注释 a....

  • js基础之数据类型,运算,流程控制

    编写位置 写在标签的指定属性中 写在script标签中 在js文件中编写引入 基本语法 标识符 数据类型 Stri...

网友评论

      本文标题:20160724------JAVA基本语法[标识符、数据类型、

      本文链接:https://www.haomeiwen.com/subject/czdhnttx.html