1,对于我们第一个Hello World程序的解释
hello world
package day1;
public class demo{
punlic staic void main (Staring[] args)
//main 方法(函数)是Java程序的启动入口,写法是固定的)
{
System.out.println("hello world");
//Java中的输出语句,在这里输出“hello world” }
}
demo.java类是Java语言基本构成单位,类似于结构体
2,Java中的数据类型
分为 基本数据类型 和 引用数据类型
1.基本数据类型 :使用8个关键字声明的类型,结构简单
1. 数值型:
整数
byte(1)
short(2)
int(4)
long(8)
浮点类型
float(4)
double(8)
Java中浮点数字面默认为double类型,
声明float类型时,需要在字面量后加f/F,例如:float a = 10.333333f
在Java的实际开发中,float和double用的比较少
System.out.println(1.0 - 0.7 == 0.3);//false
//因为小数转2进制的时候采取乘二取整,例如0.36是无限不循环的,只能用近似值表示了
解决办法:
使用BigDeximal 类型
Java中浮点数计算的类:
2.字符型: char类型:Java中char类型只能表示一个字符,可以表示世界上任意的字符
char类型可以进行算数的运算
计算机底层只认识二进制,不认识字符,所以每个字符在底层的编码表中有一个对应的整数编号 比如 a-97-0111101
例如:char c = 'a';
编码表:
ASCII 包含英文字母 其他符号
Unicode :是后来国际上发明的一种编码,包含全球人和狗家的语言符号,将世界上所有的符号都纳入其中,有110多万,每个字符都有一个唯一的编码,并且兼容了ASCII码的一部分
Java中使用的是Unicode编码表
System.out.println(c + 8);//a - 97;
3.布尔型: 逻辑值boolean :只有 true 和 false
(在Java中不能用 0 和非0 中表示 真/假)
2,引用数据类型:用系统中的类作为类型,
例如string
string 是Java语言中提供的一个类
用String 类来表述一种类型
String s = "abcd";底层跟C语言一样,都是采用数组存储多个字符{“}
System.out.println("变量a:"+a+"\t变量b:"+b);
数据类型之间的转化:
public static void main(String[] args){
//小容量的类型转大类型,可以自动的进行转化
//byte,short,char-->int-->long-->float-->double
byte a =127;
int b = a;
long c = b;
//4个字节的float类型 容量大于8个字节的long
//原因是小数和整数在底层的二进制存储几只计算方式不同
double d = c;
char f = 'a';
//大容量类型转换为小容量类型,可能会出现问题
//1、溢出了
int x = 256;
byte y = (byte)x;
System.out.println(y);
//2,计算数据不精确
float z = 10.55f;
int zz = (int)z;
System.out.println(zz);
//得到输出为10
}
运算符
算术运算符
+:加法运算,连接,正号
-:减法运算,负号
*:乘法运算,乘号
/:除法符号,除号
%:取模,
public static void main (String[] args){
int a = 10;
int b = 5;
char c = 'a';
String d = "abcd";
System.out.println(a + b);//加法
System.out.println(a + c);//加法
System.out.println(a + d);//连接 最终得到的是字符串
}
比较运算符
==,!= :用于数值之间的比较,还可以用布尔类型和布尔型,还可以用引用类型和引用类型
应用实例:(后面注释为输出结果)
>,<,<=,>= :只能比较数值的(或者char) 大小
逻辑运算符
运算符
逻辑运算:
&:逻辑与
&&:逻辑与(短路与)
|:逻辑或
||:逻辑或(短路或)
!:逻辑非 取反
^ : 逻辑异或,相同为真,不同为假
赋值运算符
符号: =
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
扩展赋值运算符: +=,-=,*=,/=,%=
注意下面的形式转换:
short s = 3;
short s = 2; // s = s + 2;是错误的,是一个short 类型最后输出为一个 int 类型了 //应该改为下面这种,就可以避免这种错误 s = (short) (s + 2); //s += 2;其中包含隐式转换,自动给转换为 short 类型了故不会报错 s += 2;
控制台输入
java提供Scanner类来实现从控制台向程序输入信息功能
具体步骤
1.导入使用的类:import java.util.Scanner;
2.创建Scanner类型的对象: Scanner scan = new Scanner(System.in);3调用Scanner类的相关方法,来获取指定类型的变量
next()方法用以 取得用户输入的字符串;
nextlnt()将取得的输入字符串转换为整数类型
nextFloat0)转换成浮点型;
nextBoolean(转 换成布尔型。
例:System.out.print("请输入姓名");
Scanner scan =new Scanner(System.in);
String name= scan.next ();
System.out.println("姓名:"+name);