变量常量类型转换和命名规范

变量和常量

static double salary = 2500;

   //属性:变量
   //变量作用域:
   //类变量 static
   // 局部变量
   // 实例变量(从属于对象,如果不进行初始化,这个类型默认值),布尔值默认值为false,除了基本类型,其余默认值都为null。

   String name;
   int age;
   //main方法
   public static void main(String[] args) {
       int i = 10;//这是一个局部变量

       //类的一个实例
       Demo05 demo05 = new Demo05();
       System.out.println(demo05.age);//0
       System.out.println(demo05.name);//null
       System.out.println(salary);//输出类变量2500

  }

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

  }
    //常量:它的值被设定后,在运行过程中不允许被改变,一般使用大写字符
   //修饰符不存在先后顺序 static和final可调换
   static final double PI = 3.1415926;

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

类型转换

public static void main(String[] args) {
       //低------------------------------------>高
       //byte,short,char -> int -> long -> float -> double
       //运算中先转化后运算
       int i = 128;
       byte b = (byte)i;//内存溢出
       double c = i;
       //强制转换 (类型)变量名 高-->低
       //自动转换 低-->高
       System.out.println(i);//128
       System.out.println(b);//-128
       System.out.println(c);//128.0

       /*
       注意点:
       1.不能对布尔值进行转换。
       2.不能把对象类型转换为不相干类型。
       3.再把高容量转换到低容量的时候,强制转换。
       4.转换的时候可能存在内存溢出,或者精度问题。
        */
       System.out.println((int)23.7);   //23
       System.out.println((int)-45.89f);//-45

       char c1 = 'a';
       int c2 = c1 + 1;
       System.out.println(c2);         //98
       System.out.println((char)c2);   //b

       //操作比较大的数的时候,注意溢出问题
       //Jdk7的新特性,数字之间可以用下划线分割
       int money = 10_0000_0000;
       int years = 20;
       int total = money*years;//计算溢出
       long total2 = money*years;//默认为int,转换之前已经存在问题。
       long total23 = money*((long)years);//先把一个数转化为long
       System.out.println(money);//1000000000
       System.out.println(total);//-1474836480
       System.out.println(total2);//-1474836480
       System.out.println(total23);//20000000000

命名规范

  1. 所有便变量、方法、类名:见明知意

  2. 类成员变量:首字母小写和驼峰原则 lastName

  3. 局部变量:首字母小写和驼峰原则

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

  5. 类名:首字母大写和驼峰原则 Man,GoodMan

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

Java随堂笔记二的更多相关文章

  1. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  2. Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer

    作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...

  3. Java随堂笔记一

    今天开始了Java的正式复习,因为有两三年没有接触Java了,所以打算开始从头复习. 下面使课堂的一些随堂笔记,如果有遗忘,我可以随时翻阅该博客. public static void main(St ...

  4. java jvm学习笔记二(类装载器的体系结构)

    欢迎装载请说明出处:http://blog.csdn.net/yfqnihao                 在了解java虚拟机的类装载器之前,有一个概念我们是必须先知道的,就是java的沙箱,什 ...

  5. 《Thinking in Java》学习笔记(二)

    1.Java方法的重载 如果几个方法都有相同的名字,区分它们就需要重载来完成. 构成重载的种类: 1)形参的个数不同  2) 形参的类型不同 3) 形参的顺序不同 注意,返回值.抛出的异常和修饰符的不 ...

  6. Java基础学习笔记二十一 多线程

    多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念.进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线 ...

  7. Java基础学习笔记二十三 Java核心语法之反射

    类加载器 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,链接,初始化三步来实现对这个类进行初始化. 加载就是指将class文件读入内存,并为之创建一个Class对象.任 ...

  8. Java基础学习笔记二十五 MySQL

    MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...

  9. Java基础学习笔记二十六 JDBC

    什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,J ...

随机推荐

  1. set实现交集,并集,差集

    let a = new Set([1, 2, 3]); let b = new Set([4, 3, 2]); // 并集 let union = new Set([...a, ...b]); // ...

  2. H5离线缓存(基础)学习指南

    离线缓存 application cache 1. 什么是离线缓存: 离线缓存可以将站点的一些文件缓存到本地,它是浏览器自己的一种机制,将需要的文件缓存下来,以便后期即使没有连接网络,被缓存的页面也可 ...

  3. Linux shell awk中print及变量使用

    Linux处理文本工具     grep: 过滤文本内容     sed:  编辑文本内容     awk:   显示文本      awk:  Aho Peter Weinberger  Kerni ...

  4. JavaScript/JQuery自执行函数

    JavaScript中任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题.jQuery就是利用了JavaScript函数作用域的特性,采用自执行函数包裹了自身的方法来解决这个问题.从jQue ...

  5. Linux之基础系统优化

    Linux基础系统优化 >>> https://www.cnblogs.com/pyyu/p/9355477.html Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命 ...

  6. woocommerce直接调取产品描述内容

    最近一位客户想让woocommerce产品页直接调取描述内容,不想太多的tab切换,太复杂,这个蛮简单的,woocommerce是在wordpress基础开发的,产品也是post的一种类型,直接调用c ...

  7. 用JSON.parse(JSON.stringify(itemData))序列化反序列化实现‘深度复制’

    还可以用来去除值不具有JSON 表示形式(数字.字符串.逻辑值.数组.对象.null)的属性,也就是说像undefined和function这样的属性值.

  8. 第二阶段冲刺(个人)——six

    今天的计划:选择功能界面的logo.背景与功能选择框的整体设计组合. 昨天做了什么?优化登录.注册信息的填写判断. 困难:无.

  9. restql 学习一 安装试用

    restql 提供了manager 可以方便配置restql 的资源,同时也提供了一个docker-compose 运行环境 以下是一个安装使用 环境准备 docker-compose 文件   ve ...

  10. 【JZOJ6239】【20190629】智慧树

    题目 一颗\(n\)个节点的树,每个点有一个权值\(a_i\) 询问树上连通块权值之和对 \(m\) 取模为$ x $ 的方案数 答案对\(950009857\) 取模,满足\(m | 9500098 ...