常量 *
指在程序执行期间其值不能发生变化的数据。例如数学中的π= 3.1415……又如:整数123,小
数1.23,字符’A’,布尔常量 true、false等,程序开发中,常量名一般规则全部大写,声明常量时必
须赋值,以后只能使用,不能再赋值,java语言声明常量使用final。package cn.webrx;
//静态导入 PI是常量,
import static java.lang.Math.PI;
public class V2 {
//成员,属性
final static int AGE = 18;
public static void main(String[] args) {
//局部 常量
final double pi = Math.PI;
System.out.println(AGE);
System.out.println(pi);
//使用常量
System.out.println(PI);
}
}
运行结果:
18
3.141592653589793
3.141592653589793
变量 *
变量:是指值在程序运行期间可以被改变的量。变量用于储存信息。它指向内存的某个单元,
而且指明了这块内存有多大。java是强类型,变量必须先声明初始化才可以使用。java程序中,变
量名是区分大小写。package cn.webrx;
import java.util.Date;
public class Var1 {
//属性 成员 变量 属性 在实例化会自动初始化 int 0 double float 0.0 Object null
boolean false
Date age ;
int[] aa;
//方法
public static void main(String[] args) {
//局部变量
//var v = new Var1();
Var1 vv = new Var1();
System.out.println(vv.age);
//System.out.println(vv.aa);
int x = 55;
{
//块级变量
int y = 5;
System.out.println(y);
System.out.println(x);
}
int y = 6;
System.out.println(y);
System.out.println("Hello world");
//合用局部变量,不会自动初始化,在使用的时候必须赋值初始化
//String s = "Hello world";
String s;
s = "ok";
//System.out.println(s.repeat(13));
System.out.println("sq1server");
System.out.println(s);
System.out.println("s");
//save(s) 保存
}
}java 10 var 类型推断声明变量package cn.webrx;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
public class Var2 {
//错误的,var局部变量类型推断,必须声明赋值,不能成员成员变量
//var i = 5;
public static void main(String[] args) {
//要求java 规范必须 10以上版本
var v = LocalDateTime.now();
var sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
var list = new ArrayList<Map<String,Object>>();
var a = 15;
a = 16;
var d = new Date();
for (var i = 1.0; i <= 5; i++) {
System.out.println(i);
}
}
}
常量:声明final 类型 常量名(标识符) = 值; //声明时必须初始化值,只能使用,不可再次赋值。
//声明 使用 常量
变量:类型 变量名(标识符)= 值; //可以使用,也可以再次赋值,如果不是静态的,必须实例化对
象后才可能在方法中访问 user.age。
//声明 使用 变量
静态:static 变量常量 修饰符,java规定main方法必须是static方法,在main方法中可以直接访问
static变量的值。package org.webrx;
public class Student {
//声明常量
static final int AGE = 18;
//静态变量,可以在main方法直接使用,不用实例化 属性
static int num = 55;
public static void main(String[] args) {
//System.out.println(AGE);
//实例化对象
//Student lisi = new Student();
//使用对象的常量
num = 99;
//System.out.println(lisi.AGE);
System.out.println(num);
System.out.println(AGE);
System.out.println(Student.AGE);}
}
数据类型 *
Java 支持数据类型分为两类: 基本数据类型和引用数据类型。
基本数据类型共有 8 种,可以分为三类:
数值型:整数类型( byte 、 short 、 int 、 long )和浮点类型( float 、 double )
字符型: char
布尔型: boolean
float 和 double 的最小值和最大值都是以科学记数法的形式输出的,结尾的 “E+ 数字 ” 表示 E 之前的数字
要乘以 10 的多少倍。比如 3.14E3 就是 3.14×1000=3140 , 3.14E-3 就是 3.14/1000=0.00314 。
注意一下几点:
java 八种基本数据类型的字节数 :1 字节 (byte 、 boolean) 、 2 字节 (short 、 char) 、 4 字节 (int 、
float) 、 8 字节 (long 、 double)
39/380 浮点数的默认类型为 double (如果需要声明一个常量为 float 型,则必须要在末尾加上 f 或 F )
整数的默认类型为 int (声明 Long 型在末尾加上 l 或者 L )
八种基本数据类型的包装类:除了 char 的是 Character 、 int 类型的是 Integer ,其他都是首字母
大写
char 类型是无符号的,不能为负,所以是 0 开始的
/*
* Copyright (c) 2006, 2023, webrx.cn All rights reserved.
*
*/
package cn.webrx;
/**
* <p></p>
* <p>Powered On 2023-02-07 15:42:14</p>
*
*
* @version 1.0
* @since 17
*/
public class Type1 {
public static void main(String[] args) {
//byte short int long float double char boolean
byte b1 = 5;
System.out.println(b1);
short s1 = 5;
System.out.println(s1);
int i1 = 5;
System.out.println(i1);
long n1 = 5;
System.out.println(n1);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
float f1 = .5f;
double d2 = .5;
System.out.println(f1);
System.out.println(d2);
char c1 = 'a';
int num = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(num);
System.out.println(c2);
System.out.println((int) c2);
boolean f = !!!false == true;
System.out.println(f);
int aaa2 = (int)2482482234553L;
System.out.println(aaa2);2.4.4 类型转换 *
自动类型转换隐式转换
转换规则:从存储范围小的类型到存储范围大的类型。简言之,由低到高。
具体规则为:byte→short(char)→int→long→float→double
强制类型转换(float)3.5;
double n = 10;
//ctrl + d 复制行
//alt + shift + up(down) 移动行
//快速进入某处代码位置(使用idea 书签) f11 ctrl + f11 shift+f11
}
}
类型转换 *自动类型转换隐式转换
转换规则:从存储范围小的类型到存储范围大的类型。简言之,由低到高。
具体规则为:byte→short(char)→int→long→float→double
强制类型转换(float)3.5;/*
* Copyright (c) 2006, 2023, webrx.cn All rights reserved.
*
*/
package cn.webrx;
import java.util.Date;
/**
* <p></p>
* <p>Powered by webrx On 2023-02-07 16:09:07</p>
*
* @version 1.0
* @since 17
*/
public class Type2 {
public static void main(String[] args) {
int a = 30;
//自动转换
long b = a;
//强制转换
byte c = (byte)a;
//Date d = new Date();
//int y = (int)ld.getTime();
}
}