变量

什么是变量?

变化数值的载体

变量声明、初始化、使用

声明变量 

类型 大小(占用空间)

int x;

初始化变量 (赋值)

给予占用空间

int x=35;

使用变量

直接使用变量名

注意:

声明过的变量不能再次声明

大小(赋值)必须和变量类型匹配

使用变量必须声明后被初始化

变量可以一次声明多次

int a,b,c;
int a=10,b=20,c=30;
int a,b,c=30;

 变量命名规则:

可以由字母、数字、_ 、$ 开头

不可以以数字                    开头

大小写敏感

不允许其他其它特殊字符和空格

不能是关键字

数据类型

基本、引用数据类型

基本数据类型:

Java种有八种基本类型,都是Java语言预先定义好的,并且是关键字。

这八种基本类型分别是:

整型:

4种

byte 1字节 -128-127

short 2字节 -32768-32767

int    4字节 -21亿-21亿

long 8字节

字符型:

1种

char 2字节

浮点型 (小数):

2种

float  4字节

double 8字节

布尔型  1种

boolean 1字节

整型

整型用于存放整数:byte、short、int、long

区别在于不同类型的整型,最大值,最小值不一样。

如果byte类型的变量赋予超出其范围的值,就会编译错误,这时就需要进行类型转换。

字符型

char 类型用于存放一个字符,值用但因号表示(双引号表示字符串类型)其长度和short一样,也是16位。

只能存放一个字符,否则就会编译报错。

实例:

浮点型

浮点型类型有两种

float长度为32位

double 长度为64位

注意:

默认的小数值是double类型的。

 布尔型

布尔型用于i表示真假,长度为1。

虽然布尔型真正存放的数据是0(fasle)、1(true),但是不能直接使用0、1进行赋值。

String型

String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误认为是一种基础类型。

String类型是Immutable的,一旦创建就不能被改变。

实例:

练习:

分别为如下值,找到合适的类型来定义
3.14
2.769343
365
12
'吃'
false
"不可描述"

操作:

  

变量之子面值

整数是int
小数double
long类型数据加l或L
float类型数据加f或F

实例:

浮点数字面值

当以f或者F结尾的时候,就表示一个float类型的浮点数,否则就是double类型(以d或者D结尾,写不写都可以)。

浮点数还可以用E或者e表示(科学计数法)

实例 :

字符和字符串字面值

字符的字面值放在单引号中。

字符串的字面值放在双引号中。

注意:

\表示转义,比如需要表示制作表,回车转义,双引号等就需要用\t\r\n\"的方式进行。

实例:

溢出

计算结果超出类型最大值,返回最小值

类型转换

从小到大

byte short int long float double

char

自动类型转换(隐式类型转换)

将小转大 得大

强制类型转换(显式类型转换)

double d=10.6;
int i=(int)d;
//可能产生丢失或溢出

转换规则:

精度高的数据类型就像容量大的杯子,可以放更大的数据。

精度底的数据类型就像容量小的杯子,只能放更小的数据。

精度小往精度大转换,是可以放下(即可转换);

精度大往精度小转换,有时候能放下,有时候不能放下。

注意:

虽然short和char都是16位的,长度一样的,但是它们之间,还是要需要进行强制转换的。

实例:

public class Lx{
public static void main(String[] args){
char a='A';
short b=80;
//虽然short和char都是16位,长度一样,
//但是他们之间,依然需要进行强制转换
a=(char)b;
//直接进行转换,会编译错误
b=a;
}
}

低精度向高精度转换

long l = 50;
int i = 50;

实例:

 

高精度向低精度转换

byte b = 5;
int i1 = 10;
int i2 = 300;
b = i1;
b=i2;

实例:

作用域

当一个变量被声明在类下面
变量就叫做字段 或者属性、成员变量、Field
比如变量i,就是一个属性。
那么从第2行这个变量声明的位置开始,整个类都可以访问得到。
所以其作用域就是从其声明的位置开始的整个类。

字短、属性、Field

当一个变量被声明在类下面

变量就叫做字段或者属性、成员变量、Field

实例:

参数

如果一个变量,是声明在一个方法上的,就叫做参数
参数的作用域即为该方法内的所有代码
其他方法不能访问该参数
类里面也不能访问该参数

实例:

局部变量

声明在方法内的变量,叫做局部变量 
其作用域在声明开始的位置,到其所处于的块结束位置

实例:

练习:

public class HelloWorld {
int i = 1; //属性名是i
public void method1(int i){ //参数也是i
System.out.println(i);
} public static void main(String[] args) {
new HelloWorld().method1(5);
//结果打印出来是 1还是5?
}
}

Day02:变量 / JAVA基本类型的更多相关文章

  1. 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值

    016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...

  2. Java定义接口变量为接收类型有什么好处(面向接口编程)

    个人理解:定义接口变量为接收类型属于面向接口的编程,通过接口的抽象能减少类之间的耦合,增加可复用性. 面向接口编程: 一种规范约束 制定者(或者叫协调者),实现者(或者叫生产者),调用者(或者叫消费者 ...

  3. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

  4. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

  5. 【转】掌握java枚举类型(enum type)

    原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...

  6. 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)

    java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...

  7. JAVA String类型和原型模式

    如上例所述,变量a,b和它们的值10,20都是存在栈里面,声明的所以String类型的引用也都是存在栈里.而字符串abc是存在字符串常量池中,new出来的String对象则是存在堆里. String ...

  8. 【转载】Java枚举类型的使用

    枚举类型概念 package com.lxq.enumm; public class EnumDemoOne { private enum InnerEnum { RED, GREEN, YELLOW ...

  9. Java基本类型学习

    基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. 1. Java ...

随机推荐

  1. spring ObjectFactory

    AspectJAwareAdvisorAutoProxyCreator implements PostProcessor postProcessorAfterInitialization(Object ...

  2. Mongodb中的js语法

    定义一个变量 > var len = 10; For循环 这里的db和data都可以作为对象 save是方法 接收一个临时定义的对象 > for(var i = 0; i < len ...

  3. 网红题之一题多变$\;\;\text{e}^x\geqslant x^2+(\text{e}-2)x+1(x>0)$

    母题 证明$:\;\;\text{e}^x\geqslant x^2+(\text{e}-2)x+1\;\;(x>0)$ 注$:\;$用不同的结构变形来证明 变式1: 若$\forall x\i ...

  4. php上传文件代码解析

    思想:把html的input标签组织成一个数组,然后去重 关键技术涉及的函数 is_dir mkdir move_uploaded_file() 涉及的数组 预定义数组$_FILES 步骤一:检查上传 ...

  5. python 数据库更新操作

    数据库更新操作 更新操作用于更新数据表的的数据,以下实例将 EMPLOYEE 表中的 SEX 字段为 'M' 的 AGE 字段递增 1: #!/usr/bin/python # -*- coding: ...

  6. RESTful规范与django编写restful接口

    一.什么是RESTful规范 ①REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” ②REST从资 ...

  7. Python3学习笔记(十二):闭包

    闭包定义: 在一个外函数中定义了一个内函数,内函数里引用了外函数的临时变量,并且外函数的返回值是内函数的引用.这样就构成了一个闭包. 我们先来看一个简单的函数: def outer(a): b = 1 ...

  8. R_Studio(cart算法决策树)对book3.csv数据用测试集进行测试并评估模型

    对book3.csv数据集,实现如下功能: (1)创建训练集.测试集 (2)用rpart包创建关于类别的cart算法的决策树 (3)用测试集进行测试,并评估模型 book3.csv数据集 setwd( ...

  9. javascript 六种数据类型

    js的数据类型和常见隐式转化逻辑. 一.六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值.原始类型汇总中null和undefined比较特殊. 引用类型:引用类型的值是保存在 ...

  10. 关于JDK8对List的分组汇总

    1. 跟据某个属性分组OfficeId: Map<String, List<IncomeSumPojo>> collect = list.stream().collect(Co ...