注释
单行注释:以//
开始,以换行符结束
多行注释:以 /*
开始,以*/
结束,每行以*
开始
文档注释:以 /**
开始,以*/
结束,注释中的每行必须以*
开始
字符集
ASCII字符集 GB2312字符集 Unicode字符集
标识符
1、必须以字母或下划线或$
符号开始,其余的需是字母或下划线$
符号或数字
2、不能有空格
3、区分大小写
4、不能使用Java关键字
关键字
基本数据类型:byte,short,int,long,float,double,char,boolean
分支关键字:if,else,switch,case,defalut,break
循环关键字:do,while,for,break,continue
修饰符:private,public,protected,final,static,abstract
对象相关:class,new,extends,implements,interface,this,super
包相关:package,import
异常:try,catch,finally,throw,throws
常量:true,false,null
数据类型
基本数据类型:
1、长度固定,不依赖于硬件平台,具有可移植性
2、必须有初始值 :1)成员变量有规定初值 2)局部变量自己规定初值
3、只占用一块内存,栈存数据值
引用数据类型:
数组、字符串、类、接口
占两块内存,栈存地址,堆存数据值
数据类型的转换:
1、自动(隐式)转换:取值范围由小到大,int—float long—float/double,可能丢失精度
2、强制(显式)转换:取值范围由大到小,可能丢失数据float a2=1.1;int a1=(int)a2;则a1=1;
变量
声明:int a; 初始化:int a=0;
名称(a):标识符 类型(int):确定内存分配空间 初始值:赋值或者保留缺省值 作用域:在不同程序块中的可用性及生命周期
常量:final修饰,不能更改
变量:1)成员变量有默认初值,定义在类内,方法外,在整个类内有效
2)局部变量手动赋值,定义在方法内或者程序块内,作用范围有限
运算符
优先级由高到低(!、算术运算符、关系运算符、逻辑运算符、赋值运算符)
算术运算符:c=a%b,a,b可以是浮点型
关系运算符:boolean
逻辑运算符:逻辑与、逻辑或、逻辑异或、逻辑反、短路或、短路与(&(逻辑与,符号后一定会执行)与&&(短路与,符号后不一定会执行)不同:结果相同,过程不同)
赋值运算符:左侧必须是变量,例a=b=c=5;
位运算符:>>>
:高位补0(与>>
相区别)
三元运算符:条件?表达式1:表达式2
instanceof:判断一个对象是否属于某一类
流程控制语句
分支语句(if…else switch…case)case后的的值不能重复,类型是int/byte/short/char
循环语句(while do…while for)
转移语句(break:退出当前循环 continue:从调用处跳至循环开始处 return 两种1)return;2)return变量(常量)/表达式)
数组:
1、声明并分配空间:int a[] = new int[10];
2、长度属性:a.length
3、数组复制:1)循环2)arraycopy
4、遍历:foreach
一、
1、整数类型的不同表示形式:
import java.util.Scanner;
public class tong01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0b1001;
System.out.println("二进制数0b1001的值为:"+a);
int b=071;
System.out.println("八进制数071b1001的值为:"+b);
int c=19;
System.out.println("十进制数19的值为:"+c);
System.out.println("它的二进制表示:"+Integer.toBinaryString(c));
int d=0xFE;
System.out.println("十六进制数0xFE的值为:"+d+"二进制形式:"+Integer.toBinaryString(d));
//负数以补码形式存储
int e=-12;
System.out.println("十六进制数0xFE的值为:"+e+"二进制形式:"+Integer.toBinaryString(e));
}
}
2、赋值语句中,float a=2.3是错误的,类似float f=5.4f或者double d=3.14d或double a=2.3是正确的
3、
import java.util.Scanner;
public class tong01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int m=0;
switch (m){
case 0:System.out.println("0");
case 1:System.out.println("1");break;
case 2:break;
default :System.out.println("d");
}
}
}
执行结果为:
4、,
int [][]b=new int[][2];
这样定义是错误的,但是int [][]b=new int[2][];
是正确的,为数组分配内存空间时只指定第一维(最左边)的容量,
5、打印等腰三角形
import java.util.Scanner;
public class tong {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = 0;
//获取用户输入存入整形变量i中
i=scan.nextInt();
//用for输出等腰三角形
for(int j=0;j<i;j++)
{
for(int k=1;k<i-j;k++)
{
System.out.print(" ");
}
for(int m=0;m<=j*2;m++)
{
System.out.print("*");
}
System.out.print("\n");
}
}
}
6、打印菱形
import java.util.Scanner;
public class tong01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = 0;
//获取用户输入存入整形变量i中
i=scan.nextInt();
//判断并输出
if(i<3){System.out.println("error");}
else if(i%2==1)
{
boolean n=true;
for(int j=1;j>0;)
{
for(int k=1;k<=(i-j)/2;k++)
{
System.out.print(" ");
}
for(int m=1;m<=j;m++)
{
System.out.print("*");
}
System.out.print("\n");
j=j+2;
// System.out.print(j);
if(j>i) {n=false;}
if(n==false) {j=j-4;}
}
}
else if(i%2==0) {
System.out.println("error");
}
}
}
7、数组的定义和使用
import java.util.Scanner;
public class tong01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//获取用户输入,注意第一个数字为接下来输入数字的数量,定义整形数组,获取用户输入存入数组内
int a0=scan.nextInt();
int[] nums = new int[a0+1];
nums[0]=a0;
for(int i=1;i<=a0;i++){
int a=scan.nextInt();
nums[i]=a;
}
//计算数组的和、平均值、最大值并输出
int max=0;int sum=0;
for(int i=1;i<=a0;i++){
if(nums[i]>max){max=nums[i];}
sum=sum+nums[i];
}
double sum1=sum;
double b=sum1/a0;
System.out.println("和:"+sum);
System.out.println("平均值:"+String.format("%.1f",b ));
System.out.print("最大值:"+max);
}
}