首页 > 编程语言 >java基础04

java基础04

时间:2023-08-15 22:11:05浏览次数:45  
标签:java 变量 04 基础 System hello static println public

变量

  • 变量就是变化的量
  • Java是强类型语言,每个变量都必须声明类型
  • Java变量是程序中最基本的单元,其要素包括变量名,变量类型和作用域
  • 如何定义变量?例:
tybe /*数据类型*/varName /*变量名*/[=value/*=值*/]
  • 不建议一行多个变量
  • 每个变量必须有类型,可以是基础类型,也可以是引用类型
  • 变量名必须是合法标识符
  • 变量声明必须是一条完整语句,因此每一个声明必须以分号结束
  • 变量作用域:
  1. 局部变量,有效期是这个方法的两个大括号之间,出了这个区间,就是无效的,而且,在这里边必须声明和初始化值
public class hello {
    //这里是类里面,类里面除了定义方法之外,还能定义属性

    //这里是定义一个main方法,也是主程序方法
    public static void main(String[] args) {
        //在这里定义的是局部变量,有效期是这个方法的两个大括号之间,出了这个区间,就是无效的,而且,在这里边必须声明和初始化值,如:
        int i;
        System.out.println(i);//这里的报错就是因为只有声明,没有初始化值

        }
    //其他方法如:
    public void add (){
        System.out.println(i);//这里也报错了,因为在上一个方法的变量有效区间只有main,所以在其他方法里是无法调用的
    }
}

输出结果:

D:\supermarket\untitled\src\hello.java:13:28
java: 找不到符号
  符号:   变量 i
  位置: 类 hello
  1. 实例变量,该变量不属于方法内,在类里边,从属于对象,如果实例变量不自行初始化,就会变为这个类型的默认值,如
public class hello {
    String name;
    int age;
    String sex;

    public static void main(String[] args) {
        //使用方法如下
        //变量类型 变量名字 = new hello,这个值是它自己,所以我们现在已经拿到了这个变量自己
        hello H = new hello();

        
        System.out.println(H.age);
        System.out.println(H.name);
        System.out.println(H.sex);
    }

}

输出结果为:

0
null
null

Process finished with exit code 0

如上如果不自行初始化,就会变为默认值

  • 所有的树值类型,默认值为0(代表整数)或0.0(代表小数),字符串的默认值为十六位的0,u0000,但是实际上输出的还是0
  • 布尔值的默认值为false,除了基本类型其余的默认值都是空NULL
  1. 类变量,就是加一个关键字static,只要加了static关键字获得了属性就是属于类的变量了,可以直接使用了,如:
public class hello {
    static String name;
    public static void main(String[] args) {
        System.out.println(name);
    }
}

输出结果为:

null

Process finished with exit code 0
  • 常量:常量初始化后不能再改变值,不会变动的值
  • 可以视为特殊的变量,它的值被设定后在程序运行过程中不允许被改变
  • 使用方法:
final 常量名=值;
final int age =25; 

例:

public class hello {
    static final int age = 25;
    public static void main(String[] args) {
        System.out.println(age);
    }
}

输出结果为:

25

Process finished with exit code 0

注意,static和final为修饰符,不存在先后排序,所以final在前也可以,如:

public class hello {
    final static  int age = 25;
    public static void main(String[] args) {
        System.out.println(age);
    }
}

输出为:

25

Process finished with exit code 0

最后需要注意的是常量一般用大写表示

变量命名规则

  • 所有的变量、方法、类名要见名知意,一定要别人看到名字就知道这个变量的含义
  • 类成员变量,首字母小写和驼峰原则:lastName,mouthSalary,除了第一个单词首字母小写,后面其他大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:常量建议全部大写,单词比较多的话,单词之间用_隔开,如:MAX_VALUE
  • 类名:首字母大写和驼峰原则,如:Man,GoodMan
  • 方法名:首字母小写和驼峰原则,如:run(),runRun()

之前学习阶段代码不规范,以后注意

标签:java,变量,04,基础,System,hello,static,println,public
From: https://www.cnblogs.com/shiweirui/p/17632584.html

相关文章

  • JavaSE--异常处理机制
    一、异常exception1、什么是异常,以及Java提供的异常处理机制  程序执行过程中发生了不正常的情况,而这种不正常的情况叫做:异常  java语言提供了异常的处理方式,如果程序执行过程中出现了不正常情况,  java把该异常信息打印输出到控制台,供程序员参考。程序员看到异常信息之......
  • JAVA向Mysql插入亿级数量数据各种方式效率对比
    研究mysql优化中查询效率,通过随机生成人的姓名、年龄、性别、电话、email、地址,向mysql数据库大量插入数据,便于用大量的数据测试SQL语句优化效率。生成过程中发现使用不同的方法,效率天差万别。1、先上Mysql数据库,随机生成的人员数据图。分别是ID、姓名、性别、年龄、Email、电话......
  • java中对无参构造和有参构造的理解
    构造器的最大作用就是在创建对象时,对对象实例进行初始化。1.一个类即使什么都不写,也会存在无参构造方法。2.无参构造方法没有返回值类型,且方法名称和类名相同。比如:1publicclassStudent{2privateStringname;3privateintage;45publicvoidst......
  • JavaSE--数字类
    一、数字格式化1、数字格式  #代表任意数字   ,代表千分位   .代表小数点  0代表不够时补0  例如#,###.0000表示加一个千分位,四位小数,不够补零2、数字格式化//表示加入千分位,保留两位小数DecimalFormatdf=newDecimalFormat("###,###.##");//Stri......
  • JavaSE--枚举enum
    一、枚举类型1、什么使用使用枚举  在开发中,有可能遇到一个方法的执行结果可能包括三种情况,四种情况,五种情况不等,  但是每一个都是可以数清楚的,一枚一枚都是可以列举出来的。2、枚举的定义enum枚举类型名{枚举值1,枚举值2,枚举值3......}3、  枚举是一种引用......
  • JavaSE--Random类
    java.util.RandompublicclassRandomTest01{publicstaticvoidmain(String[]args){//创建随机数对象Randomrandom=newRandom();//随机产生一个int类型取值范围内的数字。intnum1=random.nextInt();System.out......
  • JavaSE--String类
    一、String内存图//jvm内存图Strings1="abcde";Strings2="abcde"+"zz";Strings3=newString("yy");垃圾回收器不会释放常量 二、比较字符串最好使用String类中重写的equal方法Strings1="abc";Strings2="abc";System.out......
  • JavaSE--StringBuffer类与StringBuilder类
    开发中需要大量字符串的拼接操作,建议使用jdk中自带的StringBuffer与StringBuilder类1、StringBuffer优化StringBuffer的性能  在创建StringBuffer的时候尽可能给定一个合适的初始化容量  最好减少底层数组的扩容次数。预估计一下,给一个大一些初始化容量//创建一个初始化......
  • JavaSE--基本数据类型的包装类
    一、八种包装类1、为什么需要基本数据类型的包装类  有以下需求:方法参数为Objectobj,但是有需要传进去一个数字或者字符,publicclassIntegerTest01{publicstaticvoidmain(String[]args){//有没有这种需求:调用doSome()方法的时候需要传一个数字进去......
  • 【线性代数】线性方程组 如何求方程组的解/基础解系/通解
    1.如何求齐次方程组的基础解系前面已经学过:基础解系的定义为:一个向量组中所有的向量都是原方程的解,并且线性无关,又能由这个向量组线性表出这个方程组的所有解。先讲齐次方程组是因为它右侧常数都为0,解起来更为简单。步骤:先对齐次方程组的系数矩阵作初等行变换,直到化为行阶梯矩......