1、注释

平时我们编写代码时,在代码比较少的时候,我们还是可以看懂自己写的代码,但是当代码量突然之间变多了的时候,我们就需要加上注释,以便让我们可以直接看出这段代码的意义。

注释并不会被执行,这是供我们这些开发人员看的。

书写注释是一个很好习惯

java中的注释有三种

单行注释;多行注释;文档注释。

使用方式见下面代码:

public class HelloWorld {public static void main(String[] args) {//输出一个HelloWorldSystem.out.println("Hello,World!");
​//假如需要注释的内容有很多行的时候就需要使用多行注释//多行注释的语法是 /* */
​/** 多行注释* 多行注释* 多行注释* 多行注释*/
​//文档注释是和javaDoc连接使用的,在里面可以添加一些说明 其语法格式如下:/*** 在这里面可以写一些对于自己代码的说明*它比多行注释第一行多了一个**/
​
​}
}

2、标识符

程序员指定的名字,例如类名、变量名、方法、接口、枚举等;构成标识符的字母有一定的规范要求,Java中的标识符命名规则如下:

1、区分大小写,MyName和Myname是不同的标识符

2、首字母不能是数字开头,可以是下划线_或者美元符$或字母

3、除了首字母外的其他字符,有下划线、美元符、数字、字母构成;

4、关键字不能作为标识符;

注意:此处的字母采用的是双字符Unicode编码,它包含了亚洲文字编码,如中文、韩文、日文等,但是我们在定义标识符是不建议使用中文。

命名规范:

驼峰命名法:

变量名、方法名:首字母小写,其余单词的首字母大写(小驼峰)

类名、项目名、接口名:首字母大写、其余单词的首字母大写(大驼峰)

包名:全部小写,用英文的. 隔开,实例:域名反写

edu.zut com.baidu

常量名:全部大写,单词之间用_隔开

IF_ADDR

3、关键字

50个关键字,全都是有java本身定义好的,不能挪作他用(都是小写)

abstract accsert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

4、保留字

即不是关键字,又不能作为标识符使用,也不能在程序中使用的字符序列。goto与const

goto :在其他语言中叫做“无限跳转”,在java中不再使用,因为无限跳转语句会破坏程序结构;在java中,goto的替换语句可以通过break,continue、return实现有限跳转

const:其他语言中用于声明常量,java中声明常量使用的是public statis final方式

5、java分隔符

在java中用于分隔的字符,主要有分号; 大括号{} 和空白

1、分号,表示一条语句的结束

2、大括号,在java中,{}括起来的语句集合称为语句块或符合语句;在定义类或方法时,语句块也被用作分割类体或方法体

3、空白,在java中,元素之间允许有空白,空白数量不限;适当的空白可以改善对源代码的可读性。

6、变量

在java中,我们如何表示变化的数据? 利用变量

变量:变量即在程序运行过程中它的值是允许改变的量。

相当于把一段数据都赋值给一个简单好记的名称,这就是变量。

强调变量的命名规范

这里我们只讲局部变量;全局变量和静态变量都不讲。

变量的语法格式

数据类型 变量名称 【=初始值】;

变量名的定义要遵守标识符命名规范,同时在相关的作用域中不能有重复的变量名。变量的适用范围即变量的作用域,超过作用范围即无法使用。

变量的使用是通过其变量名称进行直接使用的。

局部变量的使用需要先赋值后使用。

Java中的基本数据类型

数据类型分为8种基本数据类型和引用数据类型

基本类型:数值型:整数类型:(byte,short,int,long ); 浮点类型(float,double)字符型(char)->也属于整数类型;布尔型(boolean);引用类型:类(class);接口(interface);数组(array)。

基本数据类型的长度和范围

数据类型 大小/位 可表示的数值范围
byte(字节型) 8 -128~127
short(短整数) 16 -2^15~2^15-1
int(整数) 32 -2^31~2^31-1
long(长整数) 64 -2^63~2^63-1
float(单精度) 32 -3.4E38~3.4E38
double(双精度) 64 -1.7E308~1.7E308
char(字符) 16 0~65535
boolean true/false

基本数据类型的变量定义使用时,需要注意,long类型的整数需要在初始值后面加l或L

float类型的小数需要在数值后面加F或f,double类型加不加d均可。同时,整数数值的默认类型是int;同时,char字符类型的使用需要使用单引号,同时char字符类型也属于数值类型,可与int等数值类型进行数学计算或者进行转换,其对应的数值取值范围为0--2^16-1

补充:

字符串:有字符组成的一串字符序列;java中常使用String表示字符串;例如:String name = “张三”;

当+连接字符串与其他数据时,此时+号不再是算数运算符,而是拼接的意思。

如:String s = "hello"+“!”;

练习:使用idea自定义类,在main方法种创建变量姓名(String)、年龄(int)、身高(double)、体重(float)、电话(long)、工资(double)并进行赋值,然后在控制台打印输出对应信息。

练习代码:

public class First {
​public static void main(String[] args) {// 姓名(String)、年龄(int)、身高(double)、体重(float)、电话(long)、工资(double)String name = "jack";int age = 15;double height = 1.71;float  weight = 66.6f;long phone = 64981981320l;double money = 12000;System.out.println("姓名:"+name+" 年龄:"+age+" 身高:"+height+" 体重:"+weight+" 电话:"+phone+" 工资:"+money);}
}

7、基本数据类型转换

在java中,定义好的基本数据类型可以根据需要进行类型转换,如int转double,float转int等。

根据数据能否自动完成类型转化分为:自动类型转换与强制类型转换。

自动类型转换

类型转换自动完成,不需要加以干预。总体原则是小范围的数据转大范围的数据自动完成。

转换顺序:byte-short-int(char)-long-float-double

注意:char转换较为特殊,参考ASCII码表,char转int自动转,int转char强制转

强制类型转换

即大范围的数据转成小范围类型的时候,不会自动转换,需要进行强制转换;强制类型转换可能会造成数据进度的丢失或者数据溢出。

强制类型转换格式: (强转的数据类型)强转的数据;

数据转换注意:

1、不能对boolean类型进行类型转换;

2、在把容量大的类型转换为容量小的类型时必须使用强制类型转换;

3、转换过程中可能导致溢出或者精度损失;

4、浮点数到整数的转换是通过舍弃小数部分得到的,而不是四舍五入;

5、条件是转换的数据类型必须是兼容的;

6、整数的默认类型时int long a = 100L;

7、浮点类型不存在这种情况,因为在定义float类型时必须在数字后面加上F或f;

8、使用long类型的数据一定要在数值后面加上L;一般不加小写l,因为l和1很像。

练习:

着重练习int与char类型之间的转换。

定义char c = ‘A’; 转换成int类型

定义int i = 100,转换成char类型

定义double d = 101.25,转换成int类型,并观察数据是否丢失;

定义int i2 = 10002,转换成long 类型,short类型以及byte类型,并观察转换成byte类型等。。。。

练习代码:

    public static void main(String[] args) {/** 定义char c = ‘A’; 转换成int类型定义int i = 100,转换成char类型*/char c = 'A';int a = c;int i = 100;char b = (char) i;System.out.println("c的int类型数值为:"+a+" i的char类型字符为:"+b);
​//定义double d = 101.25,转换成int类型,并观察数据是否丢失;double d = 101.25;int e = (int)d;System.out.println("d的int类型数值为:"+e);
​//定义int i2 = 10002,转换成long 类型,short类型以及byte类型,并观察转换成byte类型等。。。。
​int i2 = 10002;long l = i2;short s =(short) i2;byte b1 = (byte)i2;System.out.println("i2的long类型数值为:"+l+" i2的long类型数值为:"+s+" i2的long类型数值为:"+b1);
​
​}

8、运算符

Java中,运算符大致分为算术运算符,关系运算符,逻辑运算符,位运算符和其他运算符。

算术运算符

用于数值类型数据的算术运算,按照操作数的不同,分为一元运算符和二元运算符。

一元运算符:++、--;

二元运算符:+ 、-、*、/、%;

算术赋值运算符:+=、-=、*=、/=、%=;

注意:++、--的使用,当++参与运算时,++在前与在后是不同的;

在后表示先赋值后运算,++在前表示先运算再赋值。

比较运算符:>、<、>=、<=、==、!=;

比较运算符合的时候正好和boolean结合使用。

逻辑运算符:&& 并且、|| 或者、

位运算符:

运算符 运算规则 范例 结果
& 1&0,0&0,1&1 0,0,1
| 1|0,0|0,1|1 1,0,1
^ 异或 1^0,0^0,1^1 1,0,0

^运算规律:

1^0 = 1,0^0 = 0,任何数和0相异或得到的都是这个数本身;

0^1 = 0,1^1=0,任何数和1相异或得到的是这个数的相反;

一个数自己和自己异或得到的是0;

三目运算:?:

定义:对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

运算符的优先级:

优先级 运算符
1 ()
2 !、+(正)、-(负),++,--
3 * 、/、%
4 +(加)、-(减)
5 <、<=、>、>=
6 ==、!=
7 ^
8 &&
9 ||
10 ?:
11 =、+=、-=、*=、/=、%=

9、java流程控制

选择结构

if语句:if(){}

当()里面的表达式为真时执行{}里面的内容

 //并列if判断 无论上面的条件是否成立,下面的if都会进行判断if(a<b){System.out.println("a小于b");}if(a>b){System.out.println("a大于b");}if(a==b){System.out.println("a等于b");}

if …else

  //上面条件成立时下面就不再判断if(a<b){System.out.println("a小于b");}else{System.out.println("a不小于b");}

if…else if…else

if(a<b){System.out.println("a小于b");}else if(a>b){System.out.println("a大于b");}else{System.out.println("a等于b");}

多条件判断

if(1<a&&a<5){System.out.println("并且是&&,两个条件都为真");
}
if(a==1||a==3){System.out.println("或者是||,两个条件至少有一个是真");
}
if(a!=3||a!=4){System.out.println("!=代表不等于");
}

练习: 定义变量性别(sex)以及收入(salary)如果是sex为true并且薪水大于8000就输出高富 帅,否则就是穷屌丝,如果sex为false,并且薪水大于 8000,输出白富美否则就是.......

练习代码:

public static void main(String[] args) {//输入Scanner sc = new Scanner(System.in);//输入性别,true或falseBoolean sex = sc.nextBoolean();//输入薪水int salary = sc.nextInt();//判断if(sex .equals(true)&&salary>=8000){System.out.println("高富帅");}else if(sex.equals(true)&&salary<8000){System.out.println("矮矬穷");}else if(sex.equals(false)&&salary>=8000){System.out.println("白富美");}else{System.out.println(".......");}}

定义变量成绩(score),根据成绩判断,如果成绩大于90,输出优秀,[80,90)输出良好,[60,80)输出及格,60以下输出不及格

练习代码:

 public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = scanner.nextInt();//成绩大于90,输出优秀,[80,90)输出良好,[60,80)输出及格,60以下输出不及格if(a>=90){System.out.println("优秀");}else if(a>=80&&a<90){System.out.println("良好");}else if(a>=70&&a<80){System.out.println("及格");}else {System.out.println("不及格");}}

switch case语句

switch后边的表达式只能是整型字符型(byte, short,int,char),枚举类型,其中jdk7之后支持字符串型

10、Scanner类

属于引用类型,创建的时候需要固定格式

数据类型 变量名 = new 数据类型();

需要导入所在的包:import java.util.Scanner;

创建对象:Scanner sc = new Scanner(System.in);

获取输入的整数:int s = sc.nextInt();

获取输入的字符串:String str = sc.nextLine();

注意sc.nextInt()和sc.nextLine()会中断程序

练习:使用switch计算每个月有多少天 (随机年份2001 年到3033年,月份在控制台输入1-12,如果输入的月份不在1-12则提示用户重新输入月份,闰年:能被4整除 但不能被100整除,或者能被400整除)

练习代码:

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入年份:");int year = scanner.nextInt();System.out.println("请输入月份:");int m = scanner.nextInt();int day = 0;switch (m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 4:case 6:case 9:case 11:day = 30;break;case 2:if(year%4==0&&year/100!=0||year%400==0){day = 29;}else {day = 28;}}System.out.println(day);
​}

11、循环结构

while循环和do–while循环

while循环 格式:

当条件为真时执行循环体中的内容;

while(条件){语句;
}

do-while循环

先执行do中的内容,然后进行条件判断,如果条件为true, 执行循环体中的内容

在do中定义的变量只能在do中使用,不能在条件中和 do–while外进行使用

格式为 :

int b = 0;
do{b = 13;System.out.println(111111);
}while(b<15);

for循环

for循环的格式:

 //如下:先定义一个变量i,当i<10时执行循环内容,执行一次i+1//在for循环中定义的i只能在for循环中使用for(int i=0;i<10;i++){System.out.println("hello");
}

break :跳出当前循环;

continue:跳出当前此次循环,下次循环继续;

练习:1、利用while循环和do..while循环 输出字母a-z 、A-Z

public static void main(String[] args) {char c = 'a';char l ='A';while(c<=122){System.out.println(c);c++;}do{System.out.println(l);l++;}while(l<=90);}

2、利用while或do....while循环,结合scanner,从控制台获取输入的整数,从这个值开始,依次与这个值之后的n个自然数相加,当和超过100时结束,输出此时的值和自然数的值。

  
 public static void main(String[] args) {int a,sum = 0,i = 0;Scanner sc = new Scanner(System.in);a = sc.nextInt();i = a;while(sum<=100){sum = sum+a;a++;}System.out.println("此时的值是:"+a+" 输入的自然数的值是:"+i);}

3、猜数字游戏,利用random随机产生一个[50,100]之间的数字,用户在控制台输入一个数字,如果用户输入的数字等于随机产生的数字,则输出游戏结束,否则,比较用户输入的数字,告诉用户输入的数字是大于随机数还是小于随机数,之后用户重新输入继续猜数字,直到猜对为止

public static void main(String[] args) {System.out.println("猜数字游戏开始");System.out.println("输入1-100之间的数据:");//创建Random类变量Random ran = new Random();int a = ran.nextInt(100)+1;//创建Scanner类变量Scanner in = new Scanner(System.in);while(true) {int b = in.nextInt();if(number>a) {System.out.println("您猜测得数字较大,请继续猜测!");}else if(b<a) {System.out.println("您猜测得数字较小,请继续猜测!");}else {System.out.println("恭喜你,猜对了!");System.out.println("游戏结束!");break;}}}
​

4、利用for循环计算100文钱能买多少只鸡?5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱买三只小鸡,问100问钱买100只鸡,那么公鸡、母鸡、小鸡各多少只?

 public static void main(String[] args) {
​for(int i=1;i<=20;i++){for (int j=0;j<34;j++){if(i*5+j*3+(100-i-j)/3==100&&(100-j-i)%3==0){System.out.println("公鸡:"+i+"只,母鸡:"+j+"只,小鸡:"+(100-i-j)+"只");}}}}

JAVA基础语法(1)相关推荐

  1. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  2. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

  3. Java基础语法(一)

    Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...

  4. Java基础语法初学者了解

    Java语言的特点 简单的面向对象语言 跨平台与解释执行 可以做到一次编译,到处执行. (Java跨平台,Java虚拟机不跨平台) 在具体的机器运行环境中,由Java虚拟机对字节码进行解释执行.通过定 ...

  5. java基础语法(二)--单列模式

    java基础语法(二)--单列模式 /*** 功能:单列模式* @author Administrator**/ public class SingletonTest {public static v ...

  6. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)...

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  7. (31)Java基础语法 --接口

    目录 1.接口的概述 2.接口的定义格式 3.在接口中定义抽象方法 4.定义接口的 实现类 5.接口的使用 接口练习 6.接口的特点 7.一个实现类可以同时实现多个接口 8.接口的继承 9.设计提示 ...

  8. Java基础语法02-流程控制

    Java基础语法2 1 流程控制 1.1 概述 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说,程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程. ...

  9. Java基础语法-数据类型与idea配置

    文章目录 day02 - Java基础语法 1. 注释 使用的技巧 注意点 2. 关键字 2.1 概念 2.2 第一个关键字class 3. 字面量 区分技巧 4. 变量 4.1 什么是变量? 4.2 ...

  10. 1. Java基础语法

    1-- Java概述 2--常用DOS命令 在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命令. 1.打开命令行窗口的方式:win + r打开运 ...

最新文章

  1. 如何将github上源代码导入eclipse中
  2. 性能:15个JavaScript本地存储技术的函数库和工具
  3. node实现爬取当前页面链接实现
  4. idea加入springboot插件_带你搭一个SpringBoot+SpringData JPA的环境
  5. Matlab | Matlab从入门到放弃(3)——函数与画图
  6. XCode发布IPA离线安装包步骤
  7. android t类型参数,android – Kotlin属性:“属性的类型参数必须在其接收器类型中使用”...
  8. Java——网络编程(实现基于命令行的多人聊天室)
  9. Openfire on Centos7
  10. linux io100的原因_Unix与Linux的区别与联系
  11. MySQL SQL 优化命令行问题 SQL 抓取方式
  12. (转)OpenLayers3基础教程——OL3基本概念
  13. esxi存储(外部共享存储)- Open FIle
  14. 学习笔记_vnpy实战培训day02
  15. 移动web中的幻灯片切换效果
  16. c语言gs迭代法解方程,ex1_7-GS迭代法例题源程序及注释.pdf
  17. 依次将10个数输入,要求打印出其中最大的数
  18. 深度学习2.0-1.tensorflow的基础操作之数据类型
  19. 五、Ceph之RBD存储使用
  20. 《自然语言处理实战:利用Python理解、分析和生成文本》读书笔记:第1章 NLP概述

热门文章

  1. 1 个月将公众号阅读量提高了 2 倍,怎么做到的?
  2. 传小鹏汽车融资近4亿美元:小米投资
  3. 图片扩展名如何修改,转换图片格式轻松搞定
  4. Error: L6218E: Undefined symbol f_mkfs (referred from main.o)
  5. 华东师范大学计算机考研信息汇总
  6. 华东师范大学计算机网络试卷,华东师范大学网络教育学院《计算机入门》模拟考试卷.doc...
  7. 360度全景图片怎么拍摄?
  8. 关于IOS设备window onscroll滚动条滚动事件不触发的问题
  9. 周末加班有加班费,真是太好了
  10. 《天下无贼》经典台词与遗憾