Java基础知识总结(一)--基本语法知识
来源:互联网 发布:现在做淘宝还有前景吗 编辑:程序博客网 时间:2024/05/21 07:13
一.标识符
(1)定义:就是给类,接口,方法,变量等起名字的字符序列
(2)组成规则:英文大小写字母,数字,_和$
(3)注意事项:不能以数字开头,不能是java中的关键字,区分大小写
(4)常见命名规则:
a.包名:全部小写。
b.类名/接口名:每个单词首字母大写
c.变量/方法名:第一个单词小写,后面每个单词大写
d.常量:每个字母都大写,单词间以下划线连接
二:数据类型
1.分类
(1)基本数据类型
a.整数 占用字节数 byte 1 short 2 int 4 long 8b.浮点数 float 4 double 8c.字符 char 2d.布尔 boolean 1
(2)引用数据类型 a.类 b.接口 c.数组
2.数据类型的转换
(1)默认转换
a.从小到大b.byte,short,char--int--long--float--doublec.byte,short,char之间不相互转化,直接转换成int类型参与运算
(2)强制转换
a.从大到小b.可能会有精度损失,不建议使用c.格式:目标数据类型 变量名=(目标数据类型)被转换的数据
(3)boolean类型不参与转换
(4)面试题:
a. System.out.println("hello"+'a'+1); //helloa1 System.out.println('a'+1+"hello"); //98hello System.out.println("5+5="+5+5); //5+5=55 System.out.println(5+5+"=5+5"); //10=5+5 System.out.println('a'); //a System.out.println('a' + 1); //98b. byte b1 = 3; byte b2 = 4; byte b3 = b1 + b2; byte b4 = 3 + 4; //byte类型在参与运算时会自动转化为int,第三条语句会报错c. byte b=(byte) 300; byte一共有八位,当超出八位后,会溢出,所以结果为44; byte b=(byte) 130;//-126 计算时可以用b-256即可得出结果
三.运算符
(1)算术运算符
a.包括:+,-,*,/,%,++,--b.++和--的用法 1.放在操作数前面,先自增或者自减,再参与操作 int a = 10; int b = ++a; //a=11,b=11; 2.放在操作数的后面:先参与操作,再自增或者自减 int a = 10; int b = a++; //a=11,b=10;c.面试题 int a=10; a=a++; System.out.println(a); //结果为10 //后置++,会产生一个临时的量,这个量的值相当于x的一个副本,然后将x的值自增1,将副本的值返回
(2)赋值运算符
a.包括: =,+=,-=,*=,/=,%=等b.面试题 short s+=2; //等价于 s=(short)(s+2); 这种赋值运算符隐含了强制类型的转换功能 short s=s+2; //会报错 (变量参与运算时,会自己转换为int类型)c.
(3)逻辑运算符
a.包括:&,|,^,!,&&,||b.注意: &&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。 ||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。 ^:相同则false,不同则true。
(4)比较运算符
a.包括:==,!=,>,>=,<,<=b.结果为boolean类型 注意不要把==写成=
(5)位运算符
a.^的特殊用法 一个数据针对另一个数据位异或两次,该数不变b.面试题 交换a,b 的值 a=a^b; b=a^b; a=a^b;c.请用最有效率的方式计算出2乘以8的结果 2<<3
(6)三元运算符
a:格式 比较表达式?表达式1:表达式2;b:执行流程: 首先计算比较表达式的值,看是true还是false。 如果是true,表达式1就是结果。 如果是false,表达式2就是结果。
四.流程控制语句
(1)顺序结构
从上往下,依次执行
(2)选择结构
1:格式1 if(比较表达式) { 语句体; } 2:格式2 if(比较表达式) { 语句体1; }else { 语句体2; } 3:格式3 if(比较表达式1) { 语句体1; }else if(比较表达式2){ 语句体2; } ... else { 语句体n+1; }b.switch语句 1.格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 2.说明: 表达式:可以是byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 break:表示程序到这里中断,跳出switch语句 default可以省略,也可以放在任意位置
(3)循环结构
a.for循环 for(初始化语句;判断条件语句;控制条件语句){ 循环体语句; }b.while循环 初始化语句; while(判断条件语句){ 循环体语句; 控制条件语句; }c.for和while的区别 a:使用上的区别 for语句的那个控制条件变量,在循环结束后不能在使用了。 而while的可以继续使用。 b:理解上的区别 for适合于一个范围的判断 while适合次数不明确的d.do....while循环 初始化语句; do { 循环体语句; 控制条件语句; }while(判断条件语句);e.三种循环的区别 a:do...while循环至少执行一次循环体 b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
(4)控制跳转语句
a.break:中断的意思 1:用在循环和switch语句中,离开此应用场景无意义。 2:作用 跳出单层循环 跳出多层循环,需要标签语句的配合b.continue:继续 1:用在循环中,离开此应用场景无意义。 2:作用 a:跳出单层循环的一次,可以继续下一次c.return:返回 1:用于结束方法 2:一旦遇到return,程序就不会在继续往后执行。
五:方法
a.方法:就是完成特定功能的代码块。b.格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) { 方法体语句; return 返回值; }c.方法重载 在同一个类中,方法名相同,参数列表不同。与返回值无关。 参数列表不同指: 参数的个数不同。 参数的对应的数据类型不同。
六.数组
(1)数组:存储同一种数据类型的多个元素的容器
(2)定义方式:
a.int[] arr=new int[5];
b.int[] arr=new int[]{1,3,4,5};
c.int[][] arr=new int[5][];
(3)数组常见操作
a.遍历 public static void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } }b.求最大值(最小值) public static int getMax(int[] arr) { int max = arr[0]; for(int x=1; x<arr.length; x++) { if(arr[x] > max) { max = arr[x]; } } return max; }c.查找 public static int getIndex(int[] arr,int value) { for(int x=0; x<arr.length; x++) { if(arr[x] == value) { return x; } } return -1; }
(4)冒泡排序
冒泡排序:依次比较相邻的数据,将小数据放在前,大数据放在后,一趟比较后将最大的数放到最后一个位置public static void bubbleSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }}
(5)选择排序
选择排序:将第一个数据和后面的数据依次比较,将小数据放在前,大数据放在后,一趟比较后将最小的数据放在第一个位置public static void selectSort(int[] arr){ for(int i=0;i<arr.length;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } }}
0 0
- Java基础知识总结(一)--基本语法知识
- java知识总结(一)java基础知识
- java基本语法的总结(一)
- java语法知识总结
- Java学习-基本语法+基础知识
- Java基本语法总结
- Java基本语法总结
- java基本语法总结
- java基本语法总结
- [java语法]基本语法(8 )语法总结
- JAVA 基础知识总结 一
- Java基础知识总结一
- JAVA基础知识总结(一)
- Java基础知识总结(一)
- 一、Java基础知识总结
- java基础知识总结一
- Java基础知识总结一
- Java基础知识总结(一)
- win10 系统下获取系统版本号为6.2的问题
- 使用py2exe生成独立的exe文件
- c&c++的若干条知识点汇总
- POJ 1782 Run Length Encoding
- 获取android 内置与外置SD卡路径及可用空间
- Java基础知识总结(一)--基本语法知识
- IEEE论文Word 转 PDF文件的字体嵌入(embedded font)和pdf 文档去除链接
- PAT 1030. Travel Plan (30)
- java编程常用的工具类(转)
- Hadoop副本数量配置
- Juniper Contrail SDN Joins Mirantis OpenStack Party
- Unity3D 几个默认函数的区分
- PHP菜鸟手记——如何解决无法装载动态链接库的问题
- 【bzoj1002】【FJOI2007】【轮状病毒】【找规律】