常量
public class A{//这是通过class类定义了一个类,类名为A
/*
这是程序的入口点
main 方法,也称之主方法
如果程序没有写主方法,将在运行的时候出现错误
*/
public static void main(String[] args){
System.out.println("你好,黑马程序员");
System.out.println("123");
System.out.println("12.3");//字符串常量
System.out.println(123); //整数常量
System.out.println(12.3); //小数常量
System.out.println('s'); //字符常量
System.out.println(5>10); //布尔常量
}
}
打印结果:
变量
定义格式:
数据类型 变量名 = 数据值
- 变量不允许重复定义
- 一条语句可以定以多个变量,中间以,分割
- 变量在使用之前一定要赋值
- 定义float类型变量时,需要在数值后加入F/f标识
- 定义long类型变量时,需要在数值后加入L/l标识,建议L
public class A{
public static void main(String[] args){
float a=11.1F;
long b=1000L;
System.out.println(a); //整数变量
System.out.println(b); //小数变量
}
}
打印结果:
11.1
1000
作用域:只在所在的大括号内有效
public class A{
public static void main(String[] args){
float a=11.1F;
System.out.println(a); //整数变量
{
long b=1000L;
}
System.out.println(b); //小数变量
}
}
编译错误:
分析原因:
大括号执行完毕后,变量b 的内存空间释放
数据类型
计算机中最小的存储单元是 字节byte 1byte=8bit
基本数据类型内存占用和取值范围
public class A{//这是通过class类定义了一个类,类名为A
/*
这是程序的入口点
main 方法,也称之主方法
如果程序没有写主方法,将在运行的时候出现错误
*/
public static void main(String[] args){
int a=10;
double b=12.3;
char c ='a';
boolean d =true;
System.out.println(a); //整数变量
System.out.println(b); //小数变量
System.out.println(c); //字符变量
System.out.println(d); //布尔变量
}
}
打印结果:
10
12.3
a
true
常量 默认的类型 int double
与C语言区别:
布尔 boolean
键盘录入
步骤一:导包,需要写在class的上边
import java.util.scanner;
步骤二:创建对象
Scanner sc = new Scanner(System.in);
步骤三:使用变量接收数据
int i=sc.nextInit();
import java.util.Scanner;
public class A{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int a = sc.nextInt();
System.out.println(a);
}
}
标识符
定义规则:
数字、字母、下划线(_)和 美元符($)组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
常见的命名约定:
方法、变量
标识符是一个单词的时候,首字母小写 标识符是多个单词的时候,第一个单词首字母小写,其余单词首字母大写
类
每个单词的首字母都大写
类型转换
隐士转换
取值范围小的数据,给取值范围大的类型赋值,可以直接赋值。
public class A{
public static void main(String[] args){
int a=10; //4个字节
double b=a;//8个字节
System.out.println(b);//10.0
}
}
打印结果:
10.0
byte ->short->int->long->float->double
char->
byte short char 在运算的时候,都会直接提升为int,然后在进行运算。
强制转换:
新数据类型的变量=(新数据类型)原数据类型的变量;
public class TypeConversion {
public static void main(String[] args){
int a=10; //4瀛楄妭
byte b=(byte)a;//1瀛楄妭
System.out.println(b);//10
double num1=12.3;
int num2=(int)num1;
System.out.println(num2);
}
}
打印结果:
10
12
public class TypeConversion {
public static void main(String[] args){
byte sum;
sum=3+4;
System.out.println(sum);
}
}
打印结果:
7
分析原因:
这里的3和4是常量,Java存在常量优化机制,会在编译的时候对3和4进行相加,然后会判断7是否在byte取值范围内;不在范围内,报错;在范围内通过编译。