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的更多相关文章

  1. java 基础语法学习01

    Java基础语法 注释 初次使用idea时相关配置 new project ->Empty project->进入页面 再选择file->project structure-> ...

  2. Java基础语法入门

    一.Java运行原理 写好java代码,执行javac命令,通过jvm把.java源文件编译成.class文件,执行java命令把字节码文件编译成特定平台能识别的机器码 二.标识符 1.标识符是用于数 ...

  3. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  4. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  5. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  6. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  7. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

  8. 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据

    070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...

  9. 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求

    069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...

随机推荐

  1. [mysql]错误解决之"Failed to start MySQL Server"

    最近又开始倒腾mysql了,遇到了一个以前没有见过的问题. 问题如下: 百度了好久,发现写的文章都千篇一律,解决办法也都几乎是一样的,然而在我这里一点儿用都没有. 所以FQ看了看外面的世界,终于找到了 ...

  2. Gradle part1 HelloWorld

    (https://spring.io/guides/gs/gradle/#scratch) ----gradle helloworld----- 1.下载后安装 Unzip the file to y ...

  3. 【剑指offer】【python】面试题2~5

    使用python实现<剑指offer>面试题ヾ(◍°∇°◍)ノ゙,以此记录. 2_实现Singleton模式 题目:实现单例模式 单例模式,是一种常用的软件设计模式.在它的核心结构中只包含 ...

  4. 1.arm的linux系统搭建

    从裸板到系统 一般是CPU内部有启动代码,如nuvoton的nuc900系列的芯片内部就有ibr程序,来控制启动过程,在usb启动时负责加载usb驱动,这样在pc端就可以识别到usb设备了,然后通过t ...

  5. PID控制器开发笔记之十三:单神经元PID控制器的实现

    神经网络是模拟人脑思维方式的数学模型.神经网络是智能控制的一个重要分支,人们针对控制过程提供了各种实现方式,在本节我们主要讨论一下采用单神经元实现PID控制器的方式. 1.单神经元的基本原理 单神经元 ...

  6. Jenkins的详细安装及使用--windows

    操作环境:Windows 一.环境准备 1 安装JDK 本文采用jdk-8u111-windows-x64.exe: 2 配置tomcat 本文采用tomcat8,无需安装,配置JAVA_HOME及J ...

  7. query string parameters 、 Form Data 、 Request Payload

    微信小程序ajax向后台传递参数的时候总是报400错误 然后看了一下network 发现是query string parameters,但是我写的header如下 header:{ "Co ...

  8. 快速启动FTP下载服务器

    nohup python -m SimpleHTTPServer 8000  > myout.file 2>&1 &

  9. django第一天

    今天是双十一跑了个1000很累. django 终于学到了,学了这么多天,乱七八糟的东西. 今天只是学了初级的配置文件和响应请求. 配置CSS和JS 文件目录 配置html文件目录 响应请求 配置路径 ...

  10. 数据库链接池c3p0的配置

    由于我看的是远古教程,所以里面各种驱动jar包还有c3p0包都是远古版本,对于最新版本的jdbc已经失去的作用,所以我在这里重写一下! 1.首先是c3p0的位置,package的外面,src的里面 2 ...