一:标识符
- 标识符不能使用关键字,但是可以包含关键字
Static 可以 staticpublic也可以
二:变量类型
- byte占一个字节,8位,范围在-128到127
- long k=1234l(l小写大写都可以,输出结果不会有l)
float m=12.3f(小写或大写)
long的存储空间比float大,但表示数的范围比float小 - byte型、char型与short型做运算结果用int型
- char写一个汉字 数字 字母等都可以,也直接用Unicode(字符集)值来表示字符型常量,char c5=‘\u0043’可以表示‘c’
- 出现乱码的情况:需要将存的格式改为GBK,“另存为”“编码“”ANSI”。
- 自动类型提升:当容量小的数据类型变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据类型。
强制类型转换:需要使用强转符(),可能会有精度损失
int i=128;
byte b=(byte)i;
System.out.println(b);//-128
01111111.。。。加一变为10000000.。。。
注意:
- long型,如果没有l,则数据以int型存储,float必须要有f
- 定义变量通常使用double。整型常量,默认类型为int型;浮点型常量,默认为类型为double型;byte b1=12; byte b1=b1+1;编译失败
String属于引用数据类型class,双引号中可以不放字符,char中只能放一个字符,多了少了都不行,能与8中数据类型做运算,但只能做链接运算+,运算的结果时String(如果+号两边有String,则为连接符;没有即为运算符)String m="3.52"与String m=3.5f+“2”
总结: - 在一个java源文件中可以声明多个class,但是最多只有一个类声明为public的,即和源文件名一样的类文件。
- 程序的入口是main()方法。
- 软件:即一系列按照特定顺序组织的计算机数据和指令的集合,分为系统软件和应用软件
- 应用程序=算法(逻辑和想法)+数据结构(载体来存储比如数组)
三:运算符
3.1:算术运算符
加、减、乘、除、取余、自加、自减
short s=10;
s1=s+1;编译不成功
s2+=2;编译成功不会改变数据类型
3.2:位运算符(左右都是整型数据)
&、|、^、取反、移位(左移<<右移 >>无符号右移 >>>)
在一定范围内,每向左移>>一位,相当于*2
在一定范围内,没向右移<<一位,相当于/2
(移到第一位数是1,则变为负数)
取反
& |:每一位进行比较运算
3.3:逻辑运算符(左右都是布尔型,返回值也是布尔型)
逻辑与:&
短路与:&&(当符号左边为false,右边则不再进行计算,与c语言中一样)
3.4:比较运算符(返回值为布尔型)
大于>、小于<、==、!=、<=、>=、
3.5:赋值运算符
变量值交换的三种方法:
3.6三元运算符:
(条件表达式)?表达式1:表达式2
关于进制:
在这里插入图片描述
四:流程控制
4.1:选择结构
if ;if else;if else 、else if 、else;switch-case;三元运算符
结果为4
4.2:循环结构
for while do-while foreach循环
- foreach
1.int[] a = {1,2,3};
for(int i : a)
System.out.print(i + “,”);
2. for(int i:a) {
if(i>max)
max=i;}
System.out.println(max);
3.for(int []i:a)
for(int j:i) {
System.out.print(j+" ");
- 如何生成一个随机数:
import java.util.*;
class A{
public static void main(String[]args) {
Scanner in=new Scanner(System.in);
System.out.print("enter year");
int year=in.nextInt();
System.out.print("enter month");
int month=in.nextInt();
System.out.println("enter day");
int day=in.nextInt