Java基础语法入门01
Java基础语法入门01
学习java你要先进行去了解JDK,JRE,JVM
JDK Java开发工具包
JRE Java语言开发的运行环境
JVM Java虚拟机,用于Java语言的跨平台所用。
当你下载jdk之后,jdk中包含jre,jre中包含jvm
java运行原理

java变量
变量用于保存数据,构成变量三个要素:变量类型,变量名称,变量值
变量的使用规则:
- 先声明后使用
 - 声明进行初始化或声明后赋值
 - 在刚开始赋值时,只能赋一个值,但可以修改多次
 - mian方法中的变量先赋值才能输出
 - 避免使用中文
 
变量分为三种:
局部变量
- 声明在构造方法、静态方法、实例方法、代码块中的变量,都是局部变量;
 - 不能使用static和访问修饰符修饰;
 - 可以使用final修饰,即为常量,不必在声明语句中赋值;
 - 当执行局部变量所在的方法或代码块时,才有机会被创建,在方法或代码块执行结束后被自动销毁;
 - 局部变量在内存的栈区分配;
 - 局部变量在使用之前必须要先赋值;
 
成员变量
- 声明在所有方法体和代码块之外,并且没有使用static修饰的变量,叫做成员变量;
 - 可以使用访问修饰符和final修饰;
 - 使用final修饰时,一定要赋值;
 - 实例变量是在对象被创建时创建,对象被销毁时销毁;
 - 作用域范围在整个类中;
 
静态变量
- 声明在所有方法体和代码块之外,并且使用static修饰的变量;
 - 可以使用访问修饰符修饰;
 - 一般配合final使用,即public static fianl,标识符使用大写;
 - 类变量被分配在静态存储区,是被所有该类的对象共享数据;
 - 类变量是在程序开始时被创建,程序结束时销毁;
 
标识符:是用于给 Java 程序中变量、类、方法等命名的符号,简单一些,就是你给这个变量或者这个类,方法起的名字。
标识符的四个遵守规则:
1.由字母,数字,下划线_,$符号组成,但不能由其他特殊符号组成,不能以数字开头。
2.区分大小写。
3.要见名知意。
4.不能是Java中的关键字或保留字。
java数据类型
Java数据类型分为两种:
基本数据类型:
	  数值型:
		  整数类型(byte,short,int,long)
		  浮点类型(float,double)
	  字符型(char)
	  布尔型(boolean)
引用数据类型:
	  类(class)
	  接口(interface)
	  数组
特别提醒String为引用类型。
基本类型存储的是数据的本身,引用类型存储的是保存数据的空间地址
变量类型的转换分为自动类型转换和强制类型的转换:
自动类型的转换:
1.目标类型与源类型兼容
2.目标类型大于源类型(字节大小)
强制类型的转换
使用“(转换类型)变量名称”这种方式进行强制转换。
java运算符
运算符(一种带有功能的符号)分为以下几种:
算术运算符:

特别注意:++ --出现在操作数值的左边和右边结果是不一样的
int a=5;
int b=a++;
System.out.println(a);
System.out.println(b);
结果为:6,5
a++ 先进行将a的值赋予b,再进行了自增。
int a=5;
int b=++a;
System.out.println(a);
System.out.println(b);
结果为:6,6
++a 先进行自增,后赋值给b。
赋值运算符:
比较运算符:

特别注意:
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
逻辑运算符:

特别注意:
&与&&的区别:
使用&&时候,有短路功能,即当第一个条件为错误时,不在进行判断第二个。
使用&时候,当第一个条件为错误时,仍进行判断第二个。
|与||的区别:
与&和&&相同,|前后两个条件都会进行判断,||遇到第一个为真时就不再进行判断。
条件运算符:
也称为三目运算符。
语法形式:布尔表达式 ? 表达式1 :表达式2
String ss=(5>7)?"正确":"不正确";
System.out.println(ss);
输出为:正确。
当括号内容正确时,输出第一个,错误时输出第二个。
运算符的优先级:

java流程控制语句
Java中的流程控制语句分为以下几种:
if语句:进行简单的判断条件,条件满足执行大括号内的内容。
if else语句:先进行判断if中的条件语句,满足执行其中语句,不满足执行else里面的语句。
switch语句:
switch(表达式){
	case 值1:
			执行代码块1;
			break;
	case 值2:
			执行代码块2;
			break;
	......
	default:
		默认代码块;
}
执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。
特别注意:switch中的表达式的值类型必须是整数型或字符型。
while循环语句:循环语句,满足括号内的表达式,会进行循环,直到不满足,跳出循环。
do while循环语句:先进行循环在进行判断,先进行的do大括号内的语句,在进行判断do小括号内的表达式。
for循环语句:语法结构为
for(循环变量初始化;循环条件;循环变量变化){
	执行代码块
}
Java循环跳转语句:
break:跳出循环,执行后面代码。
continue:跳过本次循环,进行下次循环。
java数组
数组就像一个大盒子,这个盒子规定了所放进物品的属性,所放进的物品,按照顺序进行放置,在进行取出来的时候,只需要知道它的位置信息就行了。
int[] a={7,8,9,10};
/*它的每一个值都有一个索引。索引从0开始,
当你想要取9这个值的时候,那么你输出语句应该这样写:*/
System.out.println(a[2]);
/*
a[0]=7;
a[1]=8;
a[2]=9;
a[3]=10;
*/
数组的使用
进行声明数组:
数组类型[] 数组名称;
或者 数组类型 数组名称[];
int [] a;
int a[];
给数组进行分配空间:
数组名称=new 数组类型[数组长度];
a=new int[5];
还可以将上面两个步骤进行合并:
int a=new int[5];
赋值:
a[0]=6;
a[1]=7;
还可以进行将上述三步合并成为一步:
int[] a={1,2,3,4}
//或者
int[] a=new int[]{1,2,3,4}
//注意 这个进行赋值new int[] 中括号的内容必须为空
学习数组时,会有这个操作,对数组进行排序,在java中有Arrays类进行操作数组
int[] a={3,2,5,9,6,};
//使用 Arrays.sort(数组名)对数组进行排序,但这个排序出来的顺序是从小到大的
Arrays.sort(a);
// 可以使用Arrays.toString(数组名);方法将一个数组转换成字符串,
//该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开
System.out.println(Arrays.toString(a));
//输出结果为:[2,3,5,6,9]
在进行输出数组所有的值的时候,除了使用for这些循环输出外,可以使用一种更为方便的foreach
格式为for(元素类型 元素名称:遍历对象名称){
执行代码
}
元素名称是随意起的名字,但要符合变量起名规范,遍历对象名称就是你要进行遍历对象的名称
int a[]={5,6,87,23,45};
for (int aa:a) {
System.out.println(aa);
}
二维数组
一维数组就是一条线,所有的数据在这个线上存着,而二维数组就是一个平面,所有的数据都在这个平面上存着。
二维数组的声明和分配空间格式:
数组类型[][] 数组名=new 数组类型[行数][列数];
或者
数组类型[][] 数组名;
数组名=new 数组类型[行数][列数];
//定义了一个3行2列的二维数组
int [][] a=new int[3][2];
/*
或者int [][] a;
a==new int[3][2];
*/
给二维数组赋值:
数组类型[][] 数组名={{值,… ,值},…,{值,…,值}}
数组名[行的地址][列的地址]={{值,… ,值},…,{值,…,值}}
举个例子:
//一个3行2列的二维数组
int[][] a={{1,2},{3,4,},{5,6}};
在输出二维数组特别注意:需要两个循环
for(int i=0;i<3;i++){
for(int j=0;j<2;j++){
System.out.println(a[i][j]);
}
}
java方法
怎么去定义java中的方法
定义方法的语法为:
访问修饰符 返回值类型 方法名(参数){
方法体
}
方法分为
1.无参无返回值方法
2.无参带返回值方法
3.带参无返回值方法
4. 带参带返回值方法
方法的使用
无参无返回值方法
public static void main(String[] args){
//创建一个名为tt的对象
myText tt=new myText();
//调用show方法
tt.show();
}
无参无返回值方法
public void show(){
System.out.println("hello world!");
}
无参带返回值方法
public static void main(String[] args){
myText tt=new myText();
int ss= tt.show();
System.out.println(ss);
}
// 无参带返回值方法
public int show(){
int a=10;
int b=20;
int sum;
sum=a+b;
return sum;
}
带参无返回值方法
public static void main(String[] args){
myText tt=new myText();
int a=10;
int b=20;
tt.show(a,b);
}
//带参无返回值方法
public void show(int a,int b){
int sum;
sum=a+b;
System.out.println(sum);
}
带参带返回值方法
public static void main(String[] args){
myText tt=new myText();
int a =10;
int b=20;
int ss=tt.show(a,b);
System.out.println(ss);
}
//带参带返回值方法
public int show(int a,int b){
int sum;
sum=a+b;
return sum;
}
方法的重载
什么是方法的重载?
方法的重载就是:
在同一个类中
1.方法名相同
2.方法参数个数不同
3.方法参数顺序不同
4.方法类型不同
public class myText {
public static void main(String[] args){
//创建一个对象
myText tt=new myText();
//调用方法
tt.show();
//调用重载方法
String name="菜鸟三四五";
tt.show(name);
//调用重载方法
int password=123;
tt.show(name,password);
}
public void show(){
System.out.println("无参无返回值方法");
}
public void show(String name){
//重载show方法,参数类型为字符串
System.out.println("name="+name);
}
public void show(String name, int password){
//重载show方法,参数个数两个,参数类型一个为字符串,一个为整数型
System.out.println("name="+name+"password="+password);
}
}
java类与面对对象
类是所有java程序中的组织单元,现有类才能创建对象。
类的通常格式:修饰符 class 类名
定义一个类:
类的名字
属性
方法
//创建一个名为computer的类
public class computer {
//类的属性(也叫成员变量)
String brand;//电脑的品牌
int price;//电脑的价格
String type;//电脑的类型 //类的方法
public void playGame(){
System.out.println("使用电脑打游戏");
}
public void netPlay(){ System.out.println("使用电脑上网!"+"brand:"+brand+" price:"+price+" type:"+type);
} }
使用类去创建对象
使用类去创建对象的过程叫做实例化
public class InitailComputer {
    public static void main(String[] args){
        //使用computer类进行创建computer对象,new computer()就是实例化
         computer computer=new computer();、
         //调用方法
         computer.netPlay();
    }
}
执行结果为:使用电脑上网!brand:null price:0 type:null
在没有给实例变量赋值的情况下,默认值为0和NULL
Java基础语法入门01的更多相关文章
- java 基础语法学习01
		
Java基础语法 注释 初次使用idea时相关配置 new project ->Empty project->进入页面 再选择file->project structure-> ...
 - Java基础语法入门
		
一.Java运行原理 写好java代码,执行javac命令,通过jvm把.java源文件编译成.class文件,执行java命令把字节码文件编译成特定平台能识别的机器码 二.标识符 1.标识符是用于数 ...
 - 075 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
		
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
 - 074 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
		
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
 - 073 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
		
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
 - 072 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
		
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
 - 071 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法
		
071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
 - 070 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据
		
070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...
 - 069 01 Android 零基础入门  01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求
		
069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...
 
随机推荐
- SQL Server - CLUSTERED
			
CREATE TABLE dbo.t_MetricBook ( MetricSetID smallint NOT NULL, BookID smallint NOT NULL, ReportingCc ...
 - unicode & utf-8
			
简单来说: Unicode 是「字符集」 UTF-8 是「编码规则」 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为 ...
 - HTML基础-标签
			
html标签元素 html标签 在HTML静态页面中,每个网页具有唯一`<html></html>`,即`<html>`标签. html div标签 即网页中的盒子 ...
 - (七)Knockout  创建自定义绑定
			
创建自定义绑定 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义 ...
 - [转]一个普通IT人的十年回顾---金旭亮
			
金旭亮老师十年体会,很有收获.转自网络. 金旭亮于1989年与超级解霸的开发者梁肇新同时迈入广西大学的校门,却走了一条与其不同的路. 1994年起开始自学计算机专业本科课程,并开始编程,从未间断,迄今 ...
 - Scala数组| 集合
			
arrays :+ 5尾部 头部5 +: arrays TODO 声明不可变数组,不能删; 默认情况下,scala中集合的声明全都是不可变的 val arrays: Array[Int] = Ar ...
 - pyqt pyside QLineEdit 重写键盘事件
			
pyqt pyside QLineEdit 重写键盘事件 def keyPressEvent(self, event): if (event.modifiers() & QtCore.Qt.S ...
 - js单元测试
			
最近研究了js的单元测试,分享一下心得. 说起单元测试以前还真是不太了解,这次索性了解一番,测试有很多包含单元测试,性能测试,安全测试和功能测试等几方面,本次只介绍一下单元测试. 前端进行单元测试主要 ...
 - 教你正确打开async/await关键字的使用
			
这段时间在项目开发中看到了一些async/await的使用,在aspnet core的host组件源码中也看到了许多的async/await代码.在开发时,正确的使用了async/await是可以提高 ...
 - 用Margin还是用Padding?(转载)
			
转载出自 海玉的博客 本文地址: http://www.hicss.net/use-margin-or-padding/ 用margin还是用padding这个问题是每个学习CSS进阶时的必经之路. ...