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. 联赛%你测试10T2:漫无止境的八月

    题意: 思路: 有几个特殊的性质: 在不考虑q里面的单点修改,我们先只判断一个序列是否Yes. 我们注意到每次操作都是对一个长度为k的区间进行区间加减1的操作,所以我们如果将序列里面的数按%k分组,把 ...

  2. linux(centos8):安装java jdk 15 (java 15)

    一,下载jdk15 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...

  3. cmd/powershell常用命令 git常用命令

    cmd/powershell: 1. 新建文件夹: mkdir directoryName 2. 新建文件: cmd: type nul>fileName (空文件) powershell: n ...

  4. matplotlib中文标签乱码

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

  5. js和vue方法的相互调用(iframe父子页面的方法相互调用)。

    项目是前后端不分离的,模板引擎使用的JSP. 但是使用了Vue+ElementUI,这里列举一些常用的调用方式,有时候可能. 在js里调用vue方法 我们需要把方法注册到vue对象之外的页面,所以对与 ...

  6. django—Form组件校验方法(is_valid)执行流程

    1.从is_valid方法入手 def is_valid(self): """Return True if the form has no errors, or Fals ...

  7. Lambda表达式(一)

    Lambda表达式其实就是实现SAM接口的语法糖,作用就是简化代码的冗余,同时可读性也好过匿名内部类. 以下先一步步演示是如何把大段的代码变成一句代码的,加强理解! 第一种正常的写法 1 public ...

  8. 企业级数据大屏设计如何实现,div+html+echarts

    大屏是什么? 大屏设计是最近比较流行的概念,一般按照功能来分有几种: 1. 可交互的触摸屏,大多运用在互动教学课程或者报告演示现场,用户可结合交互操作来阐述具体内容.设计师需要对交互形式和传达内容作统 ...

  9. 《Head First 设计模式》:迭代器模式

    正文 一.定义 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 要点: 迭代器模式把在元素之间游走的责任交给迭代器,而不是聚合对象.这样简化了聚合的接口和实现,也让责 ...

  10. Pytest里面的测试用例怎么进行前置准备和后置清理操作?

    Pytest处理前置后置有两种方式可以处理. 第一种是通过setup和teardown这样的方法去处理: 第二种是通过fixture来实现的.首先先定义fixture,然后在调用.定义fixture, ...