频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
java基础 - java语言特点、标识符规则
2018-06-13 14:42:41      个评论    来源:你听见花开的声音了吗  
收藏   我要投稿

1、java语言的特点

简单、面向对象、分布式、健壮、安全、中性架构跨平台、超强可移植性、高性能、多线程。

java是编译性语言,python是解释性语言,一般来说解释性语言比编译性语言慢。

2、标识符规则

1)由数字、字母、下划线、$组成,且不能以数字开头

2)大小写敏感

3)不能与java关键字冲突

3、java注释

1)单行注释,//

2)多行注释,以/*开头,以*/结尾

3)文档注释,/**开头,*/结尾

4、导包

1)不需要导包的情况如下,其他情况都需要导包:

①同一个包下面的不需要导包

②java.lang包下面的类都不需要导

2)导包规则:

①导包语句必须在packet和class中间

②导包语句:import java.util.Date;

5、变量

public class VarDemo {

public static void main(String[] args) {

int a ; //变量的声明

a = 3 ; //变量的赋值

int b = 4; //变量的声明并同时进行初始化

//变量的第一次赋值称为初始化,其他的都叫赋值

//声明在方法中的变量叫:局部变量

//方法的参数也是局部变量

//局部变量在使用前必须进行初始化

//

}

}

6、数据类型

1)基本类型(8种)

boolean、char、byte(8位,有符号,-128到127)、short(16位)、int(32位)、double(64位)long(64位)、float(32位)

2)引用类型

public class TypeDemo {

public static void main(String[] args) {

double d =2.6;

d = d-2.0;

//浮点型的运算是不精确的,不要用这个结果来判断是否相等

System.out.println(d); //0.6000000000000001

System.out.println(d == 0.6); //false

//强制转换

//1 小范围到大范围的可以自动转换

//byteint a =3;

long b = a;

//2 整型到浮点型的可以自动转换

double c = a;

//3 在范围内的字面量可以类型转换

//整数的默认类型是int,小数的默认类型是double

//字面量,固定不变的量,可以看做是常量

byte bb = 1;

//byte bb2 = 128;-----128超过了byte范围,不能转,报错

byte bb3 = (byte)128;//强制转换后是-128,byte范围在-128--127之间

double d1 = 3.4;

double d2 = 3.8;

int d3 = (int)d1; //d3=3

int d4 = (int)d2; //d4=3

}

}

7、运算符

public class YunSuanFu {

public static void main(String[] args) {

//java中所有的关键字都小写

//+:可以连接字符串,任何类型和字符串相加都将变成字符串类型

String str = "aaa"+"bbb"+123;

System.out.println(str); //aaabbb123

// 5/2=2 5%2=1

// 0%1=0, 0对任何数取余都是0

// m%n [0~n-1]即[0,n)

//短路与第一个表达式是false,后面表达式就不看了,结果false

//短路或,第一个表达式是true,后面表达式就不看了,结果true

// & | 逻辑与和逻辑或

//a++ ;==> a= a+1;

int x = 3>45:6; //3目运算符,条件运算符,结果6

}

}

8、跳转

1)if语句

public class IfDemo {

public static void main(String[] args) {

//分支语句if必须有,else if可以有0到n个,else有0或1个

//if只会走一条分支

int x = 10;

if (x < 8) {

System.out.println("a");

} else if (x < 6) {

System.out.println("b");

}

}

}

2)break、continue、return

continue :终止本次循环,继续下次循环

break:跳出最内侧循环

return:直接跳出方法体

3)实例

●给5个整数,输出最小数

public class IfDemo {

public static void main(String[] args) {

int a = 83;

int b = 4;

int c = 55;

int d = 96;

int e = 22;

int min = a;

if (min > b) min = b;

if (min > c) min = c;

if (min > d) min = d;

if (min > e) min = e;

System.out.println(min);

}

}

●打印99乘法表

public class IfDemo {

public static void main(String[] args) {

//99乘法表

//外层控制行

for (int i = 1; i < 10; i++) {

//内层控制列

for (int j = 1; j < i + 1; j++) {

System.out.print(j + "*" + i + "=" + i * j + "\t");

}

System.out.println("");

}

}

}

●求1-100间质素

public class IfDemo {

public static void main(String[] args) {

//1-100质素

for(int i=2;i<=100;i++){

boolean flag=true;//假设所有的数字都是素数

for (int j=2;j{

if (i%j == 0) {

flag = false;

break;

}

}

if (flag == true) {

System.out.println(i);

}

}

}

}

练习:完成下面程序,是程序运行结果分别输出2个、7个、13个hello java

public class LogicJump {

//结果输出2个hello java

public static void main(String[] args) {

for (int i=1;i<=10;i++){

if(i%3 == 0)

{

}

System.out.println("hello java");

}

}

}

依次在if语句中补充break、continue、System.out.println("hello java");

9、数组

import java.util.Arrays;

public class ArrayDemo {

public static void main(String[] args) {

//数组只能存相同类型的数据、数组大小固定

//1 数组声明

int[] arr;

//2 数组的初始化

//1)静态初始化

int[] arr1 = {1,2,3,4};

//2)动态初始化

int[] arr2 = new int[4];//元素默认值是0000---

//整数类型(byte、short、int、long) 默认值都是0

//浮点类型(float、double) 默认值0.0

//boolean 默认false

//引用类型 默认null

//char 默认'\u0000'

//数组、字符串 null

//java中只有8中基本类型,其他都是引用类型

//3 数组元素的初始化

int b = arr1[2];

//4 数组的长度

int c = arr1.length;

//5 数组元素的初始化

arr2[3] = 3;

for (int i=0;ilength;i++)

{

arr2[i] = i+5;

}

//6打印数组

// 方法1

for (int i=0;ilength;i++){

System.out.println(arr2[i]);

}

//方法2,借助java.util.Arrays包中的Arrays类

System.out.println(Arrays.toString(arr2));

}

}

10、随机数

import java.util.Random;

public class RandomDemo {

public static void main(String[] args) {

//创建了一个Random对象

//int a = 3;

Random ran = new Random();

//从0-9之间随机取出一个数 ran.nextInt(n),表示0到n-1间随机去一个数

int x = ran.nextInt(10);

}

}

练习:实现双色球:红球33选6,篮球13选1

import java.util.Arrays;

import java.util.Random;

public class TwoBall {

public static void main(String[] args) {

Random ran = new Random();

int blueBall = ran.nextInt(17);

System.out.println("篮球"+blueBall);

int[] redBall = new int[6];

for (int i=0;ilength;i++)

{

redBall[i] = ran.nextInt(33+1);

//去重

for (int j =0;jif (redBall[j] == redBall[i]){

i = i-1;

break;

}

}

}

System.out.println("红球"+Arrays.toString(redBall));

}

}

11、字符串常用方法

import java.util.Arrays;

public class StrDemo {

public static void main(String[] args) {

String str = "123456789";

//str.lastIndexOf("56"); 最后一次出现的位置

//从字符串str中查找字符串34第一次出现的位置,返回的是下标,找不到返回-1

int n = str.indexOf("34");

System.out.println(n);

//截取字符串str,从下标为1开始到最后,包括下标1

String s2 = str.substring(1);

System.out.println(s2);

//截取字符串str,从下标为1开始到下标7,包括下标1,不包括下标7,前闭后开

String s3 = str.substring(1,7);

System.out.println(s3);

//判断字符串str是否以34开头 endWith

boolean b1 = str.startsWith("34");

System.out.println(b1);

//去出字符串上两端的空白

String s33 = "3 4 5 \n";

String s4 = s33.trim();

System.out.println(s4);

//字符串比较

System.out.println(str.equals("666"));

//根据字符串1 拆分字符串s5 ,拆分结果以数组返回

String s5 = "a1b1c1d1f218899qq";

String[] ss = s5.split("1");

String[] sss = s5.split("\\d");

System.out.println(Arrays.toString(ss));

System.out.println(Arrays.toString(sss));

}

}

12、面向对象

//类的声明

public class Student {

//成员变量

//成员变量在类中,方法外

//成员变量可以在类中任意地方访问

//成员变量会有默认值

String id;

String name;

int age;

//每个类都必须有构造器(也叫构造方法),如果没有为这个类写构造器,那么java编译器会给这个类提供一个默认的构造器

// (public Student(){} 公开空实现的构造器),如果为这个类写了构造器,那么java编译器不再提供默认构造器

//1 构造器名字必须和类型相同

//2 构造器没有返回类型

//3 new创建对象时会创建构造器

public Student(){

}

public Student(String str){

name = str;

}

//[修饰符] 返回类型 方法名(参数类型 参数名,参数类型 参数值...)

//方法没有返回值用void

//方法中不能嵌套方法

public void study(String course){

System.out.println("爱学习"+course);

}

public int add(int x,int y){

int z = x+y;

return z;

}

}

public class TestSudent {

public static void main(String[] args) {

Student s1 = new Student();

s1.name = "张三";

s1.age = 18;

System.out.println(s1.name + "--" + s1.age);

s1.study("zhongwen");

}

}

13、this

this代表当前对象本身,类似代词中的我

常用来区别实例变量(即成员变量)和局部变量

练习:写一个Person类,包括以下属性:String name;int age;char gender;Person partner,为Person类写一个marry(Person p)方法,代表当前对象和p结婚,若可以结婚则输出共和信息,否则输出不能结婚原因。要求另一个类中写一个主方法来测试上面程序。以下情况不能结婚:(1)同性、(2)未达到法定年龄,男<22,女<20、(3)某一方已婚

public class Person {

String name;

int age;

char gender;

Person partner;

public Person(String name, int age, char gender) {

this.name = name;

this.age = age;

this.gender = gender;

}

public void marry(Person p){

if (p.gender == this.gender){

System.out.println("万年基友,搞啥呢!");

return;

}

if((p.gender == 'm' && p.age <22) || (p.gender == 'f' && p.age <20)){

System.out.println("老牛吃嫩草");

return;

}

if((this.gender == 'm' && this.age <22) || (this.gender == 'f' && this.age <20)){

System.out.println("小学生,凑什么热闹!");

return;

}

if(this.partner !=null){

System.out.println("找小三的下场可惨了");

return;

}

if(p.partner !=null){

System.out.println("你成了别人的小三");

return;

}

System.out.println("恭喜"+p.name + "和"+this.name+"发糖!");

this.partner=p;

p.partner=this;

}

}

点击复制链接 与好友分享!回本站首页
上一篇:Java项目的开发流程总结
下一篇:java.sql.SQLNonTransientConnectionException:Couldnotcreateconnectiontodatabaseserver.报错的解决办法
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站