1、类型转换概念

  • java是强类型语言,所以有些运算的时候,需要用到类型转换

  • 类型转换原则:低-->高,byte,short,char-->int-->long-->float-->double

  • 运算中,不同类型的数据先转换为同一类型,然后进行运算。

  • 强制类型转换(高到低)

  • 自动类型转换(低到高)

import javafx.scene.layout.BorderImage;

public class Hello{
   public static void main(String[] args) {
       int i = 128;
       byte b = (byte)i;  //强制类型转换(高到低),但此处超出byte取值范围,会发生内存溢出
       double c = i;//自动转换,低到高

       System.out.println(i);
       System.out.println(b);
       System.out.println(c);

       /*
       注意点:
       1、不能对布尔值进行转换
       2、不能把对象类型转换为不相干的类型
       3、在把高容量转换到低容量的时候,强制转换
       4、转换的时候可能存在内存溢出,或精度问题!
        */

       System.out.println(=====================);
       System.out.println((int)23.7);    //23
       System.out.println((int)-45.89f); //-45

       System.out.println(=====================);
       char d = 'a';
       int e = d+1;
       System.out.println((char)e);//字符强制转换

  }
}

2、变量

  • 变量是什么:就是可以变化的量!(变量代表一个内存中的”空间“)

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

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

type varName =value}];

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

  • 注意事项:

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

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

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

变量的作用域

  • 类变量

  • 实例变量

  • 局部变量

public class demo09 {

   //类变量 static
   static double salary = 2500;



   //属性:变量

   //实例变量,从属于对象;如果不执行初始化,则为这个类型的默认值 0 0.0 u0000;
   //布尔值:默认是false
   //除了基本类型,其余的默认值都是null;

   String name;
   int age;

   //main方法
   public static void main(String[] args) {
       //局部变量:必须声明和初始化值
       int i = 10;
       System.out.println(i);

       //使用实例变量格式
       // 变量类型 变量名字 = new Demo09();
       demo09 Demo09 =new demo09();
       System.out.println(Demo09.age);
       System.out.println(Demo09.name);

       //类变量 static
       System.out.println(salary);


  }

   //其他方法
   public void add(){

  }
}

常量

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

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

final 变量名=值;
final double PI = 3.14;
  • 常量名一般使用大写字符。

变量的命名规范

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

  • 类成员变量:首字母小写和驼峰原则:除了第一个单词意外,后面单词首字母大写,如:monthSalary;lastName

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

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

  • 类名:首字母大写和驼峰原则:如GoodMan

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

示例

public class demo08 {

   static final double PI =3.14;
   //final static double PI =3.14;final与static为修饰符,不存在先后顺序

   public static void main(String[] args) {
       System.out.println(PI);
  }

}

day05-类型转换和变量的更多相关文章

  1. 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则

    小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...

  2. Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符

    一.基本数据类型 整数类型:byte.short. int(常用).long(较常用)     定义某个变量          int  a=10: 浮点类型(小数):float.double(常用) ...

  3. HTML基础--JS简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、数组、函数、函数调用.avi

    JS简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收 ...

  4. PostgreSQL 中日期类型转换与变量使用及相关问题

    PostgreSQL中日期类型与字符串类型的转换方法 示例如下: postgres=# select current_date; date ------------ 2015-08-31 (1 row ...

  5. 007PHP基础知识——类型转换 外部变量

    <?php /**类型转换 */ /*1.自由转换*/ /*2.强制转换:不改变原变量,生成新的变量*/ //转换为字符串: /*$a=100; $b=(string)$a; var_dump( ...

  6. 关于c#数据类型,类型转换,变量,常量,转义符。。。

    先说一下数据类型...数据类型可以分为两大类:基本数据类型和引用类型. 基本数据类型按功能又分为“值类型”,“布尔型”,“字符型”. 引用类型分为“字符串”,“时间日期”.  没图没真相↓面放图. 橙 ...

  7. Eclipse-运行符-数据类型转换-环境变量配置

    1.能够使用Eclipse快捷键 ctrl + /   单行注释:再按一次则取消: ctrl + shift + /  多行注释:  ctrl + shift + \  取消多行注释: ctrl + ...

  8. C#输入输出及类型转换,变量,常量。

    //输出 Console.WriteLine("大哇塞"); 自动回车的. Console.Write("Hello world");  不带回车的 注意: 1 ...

  9. day3 python数据类型转换及变量的缓存机制

    类型转换 1,强制类型转换 1.1 number的转换(int,float,bool,complex) num1 = 10 num2 = 10.6 num3 = True num4 = 3 + 4j ...

  10. 【JAVA】笔记(1)---JVM内存图;方法重载条件;输入方法;转义字符;强制类型转换;变量分类及区别;Java命名规范;

    Java命名规范: 1.包:全部字母小写: 2.类+接口:所有单词的首字母大写: 3.变量+方法:第一个单词的首字母小写,其余单词首字母大写: 3.常量名:所有字母均大写,且用下划线" _ ...

随机推荐

  1. MeteoInfoLab脚本示例:站点数据绘制等值线

    站点数据绘制等值线需要首先将站点数据插值为格点数据,MeteoInfo中提供了反距离权法(IDW)和cressman两个方法,其中IDW方法可以有插值半径的选项.这里示例读取一个MICAPS第一类数据 ...

  2. day23 Pyhton学习 昨日回顾.re模块.序列化模块

    一.昨日回顾 #__file__查看当前文件所在的绝对路径 #time 时间模块 time.time 获取当前时间戳时间 字符串->time.strptime->结构化->mktim ...

  3. 解决React前端在开发环境的跨域问题

    在前后端分离的分布式架构中,跨域是一道无法绕过去的门槛,众所周知,生产环境上解决跨域最便捷的方式是使用Nginx来处理,那么,在本地开发环境又该如何处理呢? React框架里处理跨域问题,可以使用ht ...

  4. C# 面试前的准备_基础知识点的回顾_04

    1.Session和Cookie的使用区别 很容易回答的就是Session在服务器端,存储的数据可以较大容量,比如我们存一个Table,上千条数据. Cookie保存在客户端,安全系数低,不能放重要的 ...

  5. matplotlib中文标签乱码

    在python的安装目录下 找到~\Lib\site-packages\matplotlib\mpl-data 将字体文件(例如黑体SimHei.ttf,一般C:\Windows\Fonts路径下就有 ...

  6. this.属性

    this是属于一个具体对象的,而不是属于一个类的. 当你创建了一个对象时,this自动的给你带过来了. this只能在类定义的方法中使用,不能在类定义的外部使用. class Person { //成 ...

  7. SaaS系统怎么做物流行业年度经营报告,MVC+js+echarts实现

    前言 马上就到年底了,很多公司都要汇总这一年的经营情况,如果一个系统没有自动生成年报的功能, 需要人工手工去做年报,我相信可能是一个不小的工作量,最近我通过一个星期的时间,结合系统情况自动生成年报,全 ...

  8. Bitmap缩放(三)

    质量压缩 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle ...

  9. Java nio Server端示例

    public class ServerNio { public static void main(String[] args) throws IOException, InterruptedExcep ...

  10. dubbo,hessian过滤器filter使用

    Dubbo的Filter在使用的过程中是我们扩展最频繁的内容,而且Dubbo的很多特性实现也都离不开Filter的工作,今天一起来看一下Filter的具体实现. Filter(过滤器)在很多框架中都有 ...