Java基础语法入门
Posted y867177356
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础语法入门相关的知识,希望对你有一定的参考价值。
1、Java运行原理
2、 标识符
标识符:是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,int,double均为Java已经预设好的,常见关键字有public static void class等;
标识符的命名规则:1、英文大小写字母;2、数字字符;3、$和_;
注意事项:1、数字不能开头 2、不可以使用关键字 3、严格区分大小写,不限制长度 4、起名时,尽量达到见名知意。
3、数据类型与变量
基本数据类型:整数(byte、short、int、long)、小数(float、double)、字符类型(char)、布尔类型(boolean)
引用数据类型:是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。
常量:就是不变的数据量,在程序执行的过程中其值不可以发生变化;
变量:如同内存中的一个小容器,用来装数据,其功能为存取数据;
定义变量的语法格式:
数据类型 变量名 = 变量值;
int a = 100;
例:public class AAA {
public static void main(String[] args) {
int a = 10;
double b = 3.14;
char c = ‘z‘;
String s = "i love java";
a = 20;
System.out.println(a);
}
}
4、数据类型的转换
1)、自动类型转换:表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
int i = 100;
double d2 = i;
2)、强制类型转换:
表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
如:int i = (int)6.718; //i的值为6
5、修饰符与运算符
修饰符:修饰类中方法和属性。主要有两类修饰符:
访问控制修饰符:default , public, protected, private
非访问控制修饰符:final,abstract,static,synchronized
运算符:
1) 算数运算符
+: +3=5(正号) 2+3=5(加号) “你”+”好”=”你好”
-: -3(负号) 5-3=2(减号)
* 乘号 / 除号 % 取模 ++自加 --自减
注意事项
a:加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
b:除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
c:“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
d:整数做被除数,0不能做除数,否则报错。
e:小数做被除数,整除0结果为Infinity,对0取模结果为NaN
2) 比较运算符
== 相等于, != 不等于, < 小于,> 大于,<= 小于等于,>= 大于等于
比较运算符成立为true 不成立为false
3) 逻辑运算符
& 与; | 或;^ 异或;! 非;&& 短路与;|| 短路或
5) 三元运算符
(条件表达式)?表达式1:表达式2;
例:System.out.println( 3>2 ? “正确” : “错误” );
// 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将 结果“正确”,在控制台输出打印
5、流程控制
If语句:
if语句格式第一种
书写格式
if(比较表达式) {
语句体;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
示例:public class IfDemo{
public static void main(String[] args){
int i = 5 ;
//对变量i进行if判断
if(i > 5){
System.out.println("if中的条件是true");
i++;
}
System.out.println(i);
}
}
if语句格式第二种
书写格式
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
* 首先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体1;
* 如果是false,就执行语句体2;
示例:
public class IfElseDemo{
public static void main(String[] args){
int i = 16 ;
//判断变量,是奇偶数, 除以2,看余数是0还是1
if( i % 2 == 0 ){
System.out.println(i+" 是偶数");
}else{
System.out.println(i+" 是奇数");
}
}
}
For循环:
使用格式
for(初始化变量 ; 条件 ; 增量){
循环体;
}
各模块解释
初始化变量: 定义变量,作用是用来控制循环的次数
条件: 当条件是true,执行循环体,条件是false,结束循环
增量: 变量自增情况
例:
public class ForDemo{
public static void main(String[] args){
//for循环,输出0-10
for(int i = 0 ; i < 11 ; i++){
System.out.println(i);
}
}
}
do_while循环
使用格式
do{
循环体;
}while(条件);
执行顺序
先执行一次循环体,然后再判断条件,如果条件为true,继续执行循环体,
如果条件为false,循环结束。
特点
* 无条件先执行一次
例:
public class DoWhileDemo{
public static void main(String[] args){
int i = 0;
do{
System.out.println(i);
i++;
}while( i < 5);
}
}
continue语句
作用
提前结束本次循环,继续进行下次循环
使用方式
无法单独使用,必须将continue关键字置于循环语句中
运行规律
不需要判断任何条件,只要遇到continue变直接跳出本轮循环进行下次循环
例:
public class ContinueDemo{
public static void main(String[] args){
for(int i = 0 ; i < 10 ; i++){
if(i%2==0){
continue;
}
System.out.println(i);
}
}
}
//会把0-9之间所有的奇数打印到控制台上
switch语句解构
switch只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。
格式如下:
swtich(表达式){
case 常量1 :
要执行的语句;
break;
case 常量2 :
要执行的语句;
break;
case 常量3 :
要执行的语句;
break;
default:
要执行的语句;
break;
}
执行流程: 表达式,和case后面的常量进行比较和哪个case后的常量相同,就执行哪个case后面的程序,遇到break,就全结束
6、数组
格式:数据类型[] 数组名 = new 数据类型[元素个数或数组长度];
例:int[] x = new int[100];
注意:1)数据类型: 数组中存储元素的数据类型
2) [] 表示数组的意思
3) 变量名 自定义标识符
4) new 创建容器关键字
5)数据类型: 数组中存储元素的数据类型
6)[] 表示数组的意思
7)元素个数,就是数组中,可以存储多少个数据 (恒定, 定长)
数组是一个容器: 存储到数组中的每个元素,都有自己的自动编号
自动编号,最小值是0, 最大值,长度-1
自动编号专业名次, 索引(index), 下标, 角标
访问数组存储的元素,必须依赖于索引, 公式 数组名[索引]
Java提供一个属性,操作索引的
数组的一个属性,就是数组的长度, 属性的名字 length
使用属性: 数组名.length 数据类型 int
数组的最小索引是0, 最大索引数组.length-1
7、类与方法
类:具有相似属性和方法的对象的集合,是具有相同数据成员和函数成员的一组对象的集合,它为属于该类的全部对象提供了抽象的描述
方法:一般为类的行为
方法的格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return 返回值;
}
例:public class MethodDemo{
public static void main(String[] args){
//调用方法, 方法执行起来
// 在方法main中,调用方法 getArea
int area = getArea(5,6);
System.out.println("面积是: "+area);
}
方法的调用:
在main函数中调用方法,让方法执行
例:public class MethodDemo_1{
public static void main(String[] args){
double x=3;
double y=5;
double z=3;
double s=getAvg(x,y,z);
System.out.println(avg);
}
public static double getAvg(double a, double b,double c){
return (a+b+c)/3;
}
}
方法的重载:在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
参数列表不同:
A:参数个数不同
B:参数类型不同
C:参数的顺序不同
例:public static int getSum(int a,int b){
System.out.println("两个int参数");
return a+b;
}
public static int getSum(int a,int b,int c){
System.out.println("三个int参数");
return a+b+c;
}
public static double getSum(double a,double b){
System.out.println("两个double参数");
return a+b;
}
8、泛型:
泛型是jdk5引入的类型机制,就是将类型参数化,它是早在1999年就制定的jsr14的实现。
泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比杂乱的使用object并在需要时再强制类型转换的机制具有更好的可读性和安全性。
例:public class GenericDemo {
public static void main(String[] args) {
function();
}
public static void function(){
Collection<String> coll = new ArrayList<String>();
coll.add("abc");
coll.add("rtyg");
coll.add("43rt5yhju");
// coll.add(1);
Iterator<String> it = coll.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s.length());
}
}
}
9、类的声明与实例化
类的定义:
如下例:
public class Dog{
String name;
int age;
void bark(){ // 汪汪叫
System.out.println("汪汪,不要过来");
}
void hungry(){ // 饥饿
System.out.println("主人,我饿了");
}
}
类的实例化:
Dog myDog; // 声明一个对象
myDog = new Dog("花花", 3); // 实例化
以上是关于Java基础语法入门的主要内容,如果未能解决你的问题,请参考以下文章