Java逻辑
1.开发简单Java应用程序
1-1:什么是程序
程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
1-2:为什么学习Java
Java是现在的主流
1-3:Java可以做什么
Java可以做出非常炫的图像效果
1-4:Java技术平台简介
a.JavaSE JavaEE-->javaSE-->操作系统(包括运行环境等Windwos 2003等)
b.JavaEE
Java SE标准版 Java ME精简版 Java EE企业版
1-5:开发Java程序的步骤
1.第一步:编写源程序 第二部:编译 第三部:运行
1-6:Java程序框架
例如:
public class HelloACCP{
public static void main(String[] args){
//这里填写代码!
}
}
1-7:第一个Java程序(第一步:创建一个Java项目 第二步:手动创建Java源程序 第三步:编译Java源程序 第四步:运行Java程序)
a.Java项目组织结构
(1)包资源管理器 (2)导航器
b.Java程序的注释
(1)单行注释 (2)多行注释
c.Java编码规范
类名使用public修饰 public修饰的类的名称必须与java文件同名
代码完整、有注释、适当的缩进 java对大小写敏感
d.常见错误
public修饰的类的名称必须与java文件同名 main方法中的void不可少 大小写敏感 在java中,一个完整的语句都要以","结束
输出的字符串必须用单引号引起来,而且必须是英文的引号 中英文区分
2.变量、数据类型和运算符
2-1:变量
变量:是存储数据的一个基本单元,不同的变量相互独立。
2-2:数据类型
a.不同的数据类型
b.Java常用数据类型
int 整形、double 双精度浮点型、char 字符型、String 字符串型
2-3:变量声明及使用
语法:
数据类型 变量名; double score;//声明变量为score的双精度浮点型等等
变量名=值; score=98.5;//存储98.5
数据类型 变量名=值; double score=98.5;
两种命名方式:帕斯卡命名法和骆驼命名法
a.变量命名规则
变量必须以字母、下划线或$符号开头,变量可以包括数字、但是不能以数字开头,除了下划线、$符号以外、变量名不能包含任何特殊字符,不能使用关键字
b.常见错误
在使用变量时候要给变量赋值 变量命名规范 在一定的位置,变量名不能同名
2-4:运算符
a.赋值运算符
"="的功能是将等号右边表达式的结果赋值给等号左边的变量
b.算术运算符(+、-、*、/取整、%取余、++、--)
2-5:数据类型转换
a.为什么需要数据类型转换
比如两个不同的数据类型的数据进行运算,得到的结果是什么呢? 如果不清楚请看后面
b.如何进行数据类型转换
(1)自动进行数据类型转化
满足自动数据类型转换的条件:两种类型要兼容(数值类型【整形和浮点型】互相兼容)、目标类型大于源类型(double类型可以存放int类型的数据,因为double类型的变量分配的空间宽度足够存放int类型数据变量,我们又称这种为"放大转换")
(2)强制数据类型转化
语法:
(数据类型)表达式
double d=34.5634;
int b=(int)d; 运行后的值就为:34
3.运算符和条件结构
3-1:bool类型
a.为什么需要boolean类型
java中使用boolean类型判断真假
b.什么是boolean类型
true 真、false 假
c.如何使用boolean类型
例如:
import java.util.Scanner;
public class HelloACCP1 {
public static void main(){
int lisi=80;
boolean isBig;
Scanner input=new Scanner(System.in);
System.out.print("输入学员张三的成绩:");
int zhangSan=input.nextInt();
isBig=zhangSan>lisi;
System.out.println("张三成绩比李四高吗?"+isBig);
}
}
3-2:关系运算符
a.为什么使用关系运算符
因为我们知道如何判断数据类型的真假之后,还要比较大小,长短、多少得来,因此学习它。
b.什么是关系运算符
比如:> 大于 <小于 >=大于等于 <=小于等于 ==等于 !=不等于
3-3:if条件结构
a.为什么需要if条件结构
例如:如果地球上没有水了,人类将会频繁灭绝。使用程序来模拟,就可使用它来进行完成。
b.什么是if条件结构
语法:
if(条件){
//语句
}
例如:
public class HelloAccp{
public static void main(String[]args){
语句1;
语句2;
if(条件){
语句3;
}
语句4;
}
}
c.如何使用if条件结构
a.使用基本的if条件结构
例如:
import java.util.*;
public class HelloAccp2{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
System.out.print("输入令狐冲的Java成绩:");//提示用户录入信息
int score=input.nextInt();//从控制台获取令狐冲的Java成绩
if(score>90){//判断是否大于90
System.out.println("师父说:不错,给你《独孤九剑》剑谱");
}
}
}
b.复杂条件下的if条件结构
常用逻辑运算符 &&与、并且 ||或、或者 !非
例如:
public class HelloAccp3{
public static void main(String[]args){
int score1=100;//令狐冲的Java成绩
int score2=72;//令狐冲的音乐成绩
if(score1>90 && score2>80)||(score1==100 && score2>70){
System.out.println("师父说:不错,给你《独孤九剑》剑谱");
}
}
}
c.使用if-else条件结构
语法:
if(条件){
//语句1
}else{
//语句2
}
例如:
public class HelloAccp4{
public static void main(String[]args){
int score=89;//令狐冲的Java成绩
if(score>90){
System.out.println("师父说:不错给你《独孤九剑》剑谱");
}else{
System.out.println("师父说:不孝徒,上思过崖闭关思过去吧"):
}
}
}
d.使用多重if结构
语法:
if(条件1){
//语句1
}else if(条件2){
//语句2
}else{
//语句3
}
3-4:switch结构
a.为什么使用switch结构
对于等值判断的整型使用很方便,代码也少,便于理解。
b.什么是switch结构
语法:
switch(表达式){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
case 常量3:
语句3;
break;
.....
default:
语句n;
break;
}
c.如何使用switch结构
例如:
public class HelloAccp5{
public static void main(String[]args){
int mingCi=1;//名次
switch(表达式){
case 1:
System.out.println("出任武林盟主1"):
break;
case 2:
System.out.println("出任武林盟主2"):
break;
case 3:
System.out.println("出任武林盟主3"):
break;
.....
default:
System.out.println("出任武林盟主4"):;
break;
}
}
}
4.循环结构(一)
4-1:while循环
a. 为什么需要循环
例如:黄超华叫文超说一万次:"我爱你";用程序模拟出来,这就需要使用到循环更简单一些。
b.什么是循环
例如:操场跑步的人、运动的车轮等等。
c.什么是while循环
先判断,后执行
例如:
while(i<=10000){
System.out.println("我爱你");
i+=1;
}
d.如何使用while循环
例如:
import java.util.Scanner;
public class HelloAccp5{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
String answer;//回答的结果
System.out.print("表演得怎么样?(y/n)");
answer=input.next();//获得用户录入的信息
while(!answer.equals("y")){//输入的不是y,则循环继续执行
System.out.println("我爱你");
System.out.print("表演得怎么样?(y/n):");
answer=input.next();
}
System.out.println("圆满结束");
}
}
e.常见错误
避免死循环(确定循环次数)、注意循环次数(多或少次数)
4-2:do-while循环
a.为什么需要do-while循环
例如:黄超华叫文超说一万次:"我爱你",文超问:可以了不,如果不行再继续说“我爱你”知道黄超华说可以了为止;用程序模拟出来,这就需要使用到循环更简单一些。
b.什么是do-while循环
至少执行一次。先执行,再判断
c.如何使用do-while循环
例如:
import java.util.Scanner;
public class HelloAccp5{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
String answer;//回答的结果
System.out.print("超超说,彩排开始...");
do{//输入的不是y,则循环继续执行
System.out.println("我爱你");
System.out.print("表演得怎么样?(y/n):");
answer=input.next();
}while(!answer.equals("y"));
System.out.println("大功告成");
}
}
d.while循环和do-while循环的区别
(1)语法不同(2)执行次序不同while先判断,后执行do-while先执行,后判断(3)do-while循环至少执行一次
4-3:程序调试
a.为什么需要程序调试
因为程序调试是程序排错的专用技术
b.什么是程序调试
(1)暂停程序(2)观察变量(3)逐条语句 这些称为:程序调试。
c.如何进行程序调试(断点:程序运行到这里就暂停运行的那个点,一般是某行语句)
主要方法:(1)分析出错位置,设置断点(2)启动调试,单步执行(3)观察变量
详细步骤:(1)分析出错位置,设置断点(2)启动调试单步运行(3)观察变量
(4)发现问题(5)修正代码,重新运行(6)解决问题
注意:程序调试是和写代码一样重要的能力,一定要学会练熟。
d.调试史话(bug缺陷-----debug调试)大家注意:不要让bug爬进去哦?呵呵...
5.循环结构(二)
5-1:for循环
a.为什么需要学习for循环(例如:黄超华给文超出了一个难题,叫文超用程序编写,说一万遍:"超超,你是最棒的!我永远爱你",表名对自己的爱)
例如:
for(int i=0;i<10000,i++){
System.out.println("超超,你是最棒的!我永远爱你");
}
或者:
int i=0;
while(i<10000){
System.out.println("超超,你是最棒的!我永远爱你");
i=i+1;
}
或者:
do{
int i=0;
System.out.println("超超,你是最棒的!我永远爱你");
}while(i<10000);
注意:相比较,结果for循环相对于while循环和do-while循环更简便一些。而且,do-while循环至少会执行一次,for循环和while循环就不是。因为,do-while循环是先执行,后判断,for循环和while循环是,先判断后执行。
b.什么是for循环(总结:可以分为四个部分。(1)初始部分 "i=0" (2)循环体 "超超,你是最棒的!我永远爱你" (3)迭代部分 "i=i+1" (4)循环条件 "i<10000")
语法:
for(表达式1;表达式2;表达式3){
//循环执行的语句
}
注意:
表达式1:赋值语句 例如:int i=0;
表达式2:条件语句 例如:i<10000;
表达式3:赋值语句通常是用++或--运算符 例如:i++
c.如何使用for循环
例如:
import java.util.*;
public class HelloAccp4{
public static void main(String[]args){
int i,j;
Scanner input=new Scanner(System.in);
System.out.print("请输入一个值");
int val=input.nextInt();
System.out.println("根据这个值可以输出以下加法表");
for(i=0;j=val,i<val;i++,j--){
System.out.println(i+"+"+j+"="+(i+j));
}
}
}
d.常见错误(1.缺少循环变量初始化 2.缺少条件判断语句 3.缺少迭代部分 4.缺少初始部分、迭代部分和条件判断)
5-2:循环结构总结
Java中的三种最主要的循环结构,while、do-while、for循环结构。无论哪一个循环结构,都有四个不可少的部分:初始部分、循环条件、循环体、迭代部分。此四个缺少任何一个都可能造成严重的错误
语法:
while(条件){ do{ while(初始化;条件;迭代){
//循环体 //循环体 //循环体
} }while(条件); }
while循环:先判断,后执行。
for循环:先初始化,再条件判断,然后执行。
do-while循环:先执行,后判断。
注意:如果循环次数确定,通常选用for循环。不确定,选择while循环和do-while循环,如果,至少执行一次,就选择do-while循环。
5-3:跳转语句
a.break语句的使用
Java支持3中形式的跳转:break 停止、continue 继续、return 返回
例如:
for(int i=0;i<10;i++){
跑400米;
if(!能坚持){
break;//退出比赛
} }
b.continue语句的使用
例如:
for(int i=0;i<10;i++){
跑400米;
if(!口渴){
continue;//不喝水,继续跑
}
接过水壶,喝水;
}
5-4:Java代码调试(1.设置断点、2.启动调试 3.单步执行,观察变量值的变化)
5-5:程序控制语句总结
类型:分支语句 作用:分支语句根据表达式和变量的不同状态选择不同的分支 实现:if、if-else、if-else if-else switch
类型:循环语句 作用:循环语句使程序重复执行某个程序块或语句 实现:while、do-whle、for
类型:跳转语句 作用:跳转语句允许程序跳跃执行 实现:break、continue
6.对象和类
6-1:对象:
a.身边的对象(万物皆对象、面向对象编程Object-Oriented Project,00P的核心就是对象Object。对象是事实存在的实体)
b.什么是对象的属性和方法(现实生活中的 特征(状态)和行为,在程序中分别称为:属性和方法)
c.封装(属性和方法,它们共同组成了实体对象,共同体现对象的特性,相辅相成,不可分割。例如:一辆宝马,将属性和方法就进行了封装)
6-2:类(共同的属性和行为被组织在一个单元中,就称为类。)
a.对象和类的区别(对象是事实存在的,类是被我们所抽象出来的。)
b.类是对象的类型(例如:现实生活中的Person 和Student 在程序中创建一个它们的实例 Person person=new Person();创建一个person对象 或Studnet student=new StudentI();创建一个student对象)
类名 对象名=new 类名();
6-3:Java是面向对象的语言
a.Java的类模板
例如:
public class 类名{
//定义属性部分
属性1 的类型 属性1;
属性2 的类型 属性2;
属性n;
....
//定义方法部分
方法1;
方法2;
....
方法n;
}
注意:命名类的规则,不能使用java关键字、不能包含任何空格或点以及下划线和"$"之外的特殊字符,不能以数字开头。
规范:类名是一个名词,采用大小混合的方式,每个单词首字母大写。另外,应该使自己的类名简洁而富于描述,并使用完整单词,避免缩写词。
b.如何定义类(1.定义类名 2.编写类的属性 3.编写类的方法)
例如:
public class AccpSchool{
//定义北大青鸟中心的属性
String schoolName;//中心的全称
int className;//教室的数目
int labNum;//机房的数目
//定义北大青鸟中心的方法
public String toString(){
return schoolName+"培训Accp学员"+"\n"+"配备:"+className+"教"+labNum+"机";
}
}
c.使用Eclipse创建类(1.创建项目 2.创建类 3.编写代码)
d.如何创建和使用对象
语法:
类名 对象名=new 类名();
AccpSchool center=new AccpSchool();
语法:
对象名.属性;//引用对象的属性
对象名.方法();//引用对象的方法
例如:
center.name="北京中心";//赋值
center.toString();//调用方法
例如:
public class InitialAccpSchool{
public static void main(String[]args){
AccpSchool center=new AccpSchool();//创建一个AccpSchool对象
System.out.println("*****初始化成员变量前\n"+center);
center.schoolName="北京中心";//引用schoolName属性
center.classNum=10;//引用classNum属性
center.labNum=10;//引用labNum属性
System.out.println("*****初始化成员变量后***\n"+center);
}
}
注意:java的默认值 int 0 double 0.0 char '\u0000' boolean false String null
e.面向对象的优点
(1)程序设计是要模拟现实世界中的人、事以及要解决的问题,使之能够更更好地使用计算机来解决现实问题
(2)对象的行为和属性被封装在类中,外键通过调用类的方法来获得,不需要关注内部如何实现
(3)可以通过类的模板,创建n个类的对象,增加重用性
或中话说:
(1)便于计算机程序中用类似的软件对象模拟现实世界中的实体
(2)隐藏信息
(3)增加重用性
6-4:数据类型总结
类型:基本数据类型 特征:没有方法 声明举例:int age=8; 使用举例:age++;//变量自加1
类型:引用数据类型 特征:有方法 声明举例:Student stu=new Student(); 使用举例:stu.age++;//类的成员变量自加1
注意:变量(局部变量和全局变量的区别)
7.类的方法
7-1:类的方法概述
a.什么是类的方法(类的方法是:一个功能模块,作用是"做一件事情")
例如:
public class AutolLion{
String color="黄色";
public void run(){
System.out.println("正在以0.1米/秒的速度向前奔跑");
}
public String bark(){
String sound="吼";
return sound;
}
}
b.如何定义类的方法
三个关键点:(1)方法名称 (2)方法返回值的类型 (3)方法的主体
语法:
public 返回值的类型 方法名(){
//方法的主体
}
命名规则:命名方法像命名变量、类一样,要遵守一定的规则。以字母、不可以以下划线或$开头,可以包括数字,但是不能以数字开头
规范:通常方法名是一个动词,如果由两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写,即:骆驼命名法 Camel
如何返回
语法:
return 表达式;
c.方法调用
语法:
对象名.方法名();
例如:
AutoLion lion=new AutoLion();//创建AutoLion对象
lion.run();
d.常见错误(返回多个值)
例如:
public class Student{
public int showInfo(){
int age=18;
int height=1.78;
return age,height;//这就是错误的,返回了多个值
}
}
7-2:变量作用域及常见错误
a.误用局部变量 b.控制流语句块的局部变量
注意:局部变量和全局变量的区别
7-3:面向对象编程思维
面向对象的思想给我们带来的好处:类的方法实现某个特定的功能,别的类不需要知道它如何实现!知道了实现此功能的类和它的方法名,就可以直接调用了,不需要重复编码!
7-4:包
a.为什么需要包(I.包允许将类组合成较小的单元 类似文件夹,是我们易于找到和使用相应的文件 II.防止命名冲突 III.包允许在更广的范围内保护类、数据和方法,可以在包内定义类,根据规则,包外的代码有可能不能访问该类)
b.如何创建包(要创建一个包,只要包含一个package命令作为一个Java源文件的第一条语句就可以了。如:package s2java.sg.chap7;//声明包)
c.使用Eclipse创建包(此处不做详细介绍 请看P164.创建类的同时创建包或者单独创建包后,再创建类)
d.包与目录的关系(包:其实就相当于物理文件夹的目录结构。或者说:Java中的每个包都对应于文件系统中同名的子目录。)
e.如何导入包(在Java中,使用关键字import告知编译器所要使用的类位于哪一个包中,这个过程称为导入包。例如:import java.util.*;//导入包)
语法: import 包名.类名; 例如:s2java.sg.chap7;
语法: import 包名.*; 例如:import s2java.sg.chap7.AccpSchool;//导入包
7-5:JavaDoc注释
单行注释、多行注释、JavaDoc注释 注意://单行注释 /***/多行注释 /** ** */JavaDoc注释
7-6:JavaSE6帮助文档
此处省略,请查看书本P170.登录Sun公司的官方网站就可以下载了:http://java.sun.com/javase/downloads/index.jsp.
经验:JavaDoc是一种重要的文档工具,通常类、类的方法和一些重要的地方需要用JavaDoc来注释,这个不是说你可要放弃常规的注释,这两者在代码中应当是相辅相成、互相弥补的关系。
8.数组
8-1:为什么需要数组
例如:黄超华叫文超统计文家和黄家,每个人的年龄的平均值是多少?此时,人员太多,用什么来存储呢? -----》数组可以实现
8-2:Java中的数组
数组是一个变量,用于将相同数据类型的数据存储在存储单元中,数组中的索引元素必须属于相同的数据类型
8-3:如何使用数组
a.使用数组的步骤
(1)声明数组
语法:
数据类型 数组名[];//声明数组 或者 数据类型[] 数组名;//声明数组
注意:int score[30];//错误!!!!
(2)分配空间
语法:
数组名=new 数据类型[数组长度];//分配空间
语法:
数据类型[] 数组名=new 数据类型[数组长度];
(3)赋值
语法:
数组名[下标值];
例如:score[0]=89; score[1]=60;
或者 Scanner input=new Scanner(System.in);
for(int i=0;i<30;i++){
score[i]=input.nextInt();//从控制台接收键盘输入进行循环赋值
}
、 语法:
数据类型[] 数组名={值 1,值 2,值 3,....,值 n};
例如:int[] score={60,70,80,90};//创建一个长度为4的数组score
同时也等价于 int[] score=new int[]{60,70,80,90};//注意后面那个中括号必须为空 详细请看P188
(4)对数据进行处理
例如:
package s1java.sg.chap8;
public class HelloAccp1{
public static void main(String[]args){
//声明变量
int[] score={60,70,80,90,100};//成绩数组
int sum=0;//成绩总和
double avg;//成绩平均值
//计算平均值
for(int index=0;index<score.length;index++){
sum=sum+score[index];//成绩累加
}
avg=sum/score.length;
//显示输出结果
System.out.println("Java测试成绩平均分是:"+avg);
}
}
语法: 数组名.length;
b.常见错误(I.定义数组时遗漏数组长度 II.数组越界 III.数组的初始值)
注意几个初始值:int 0 double 0.0 char '\u0000' boolean false
8-4:数组应用
a.求最大值
例如:
package s2java.sg.chap8;
import java.util;
public class HelloACCP5{
public static void main(String[]args){
//声明变量
int[] score=new int[5];
int max;
//循环给数组赋值
System.out.println("请一次录入5位学生的Java成绩:");
Scanner input=new Scanner(System.in);
for(int i=0;i<5;i++){
score[i]=sc.nextInt();
}
//计算成绩最大值
max=score[0];
for(int index=1;index<5;index++){
if(score[index]>max){
max=score[index];
}
}
//显示最大值
System.out.println("本次考试的5位学生的最高分是:"+max);
}
}
b.排序
(1)使用Java.util.Arrays类操作数组
(2)如何对数组进行排序
升序排列如下
例如:
package s2java.sg.chap8;
import java.util.Arrays;
import java.util.Scanner;
public class HelloAccp6{
public static void main(String[]args){
int[] score=new int[5];
Scanner inpu=new Scanner(System.in);
System.out.println("请输入5位学员的成绩:");
for(int i=0;i<5;i++){
score[i]=input.nextInt();//依次录入5位学员的成绩
}
Arrays.sort(score);//对数组进行升序排列
System.out.println("学员成绩按升序排列");
for(int index=0;index<score.length;index++){
System.out.println(score[index]);//顺序输出目前数组中的元素
}
}
}
降序排列如下
例如:
package s2java.sg.chap8;
import java.util.Arrays;
import java.util.Scanner;
public class HelloAccp6{
public static void main(String[]args){
int[] score=new int[5];
Scanner inpu=new Scanner(System.in);
System.out.println("请输入5位学员的成绩:");
for(int i=0;i<5;i++){
score[i]=input.nextInt();//依次录入5位学员的成绩
}
Arrays.sort(score);//对数组进行升序排列
System.out.println("学员成绩按升序排列");
for(int index=score.length-1;index>=0;index--){
System.out.println(score[index]);//顺序输出目前数组中的元素
}
}
}
注意:Arrays类的sort方法是将数字钟的元素按照从小到大的顺序进行重新排列。
9.字符串
9-1:字符串概述
a.如何使用字符串
主要分为两步:定义并初始化字符串和使用字符串,对字符串进行一些处理 例如:String s="I Love You ,Chao..";或者String s=new String(); 或者String s=new String("I Love You,Chao...");
b.字符串的长度
语法:
字符串.length();
例如:
package s2java.sg.chap9;
import java.util.*;
public class HelloACCP1{
public static void main(String[]args){
System.out.println("请随机输入你想到的名字:");
Scanner input=new Scanner(System.in);
String name=input.next();
System.out.println("这个名字的长度是:\""+name.length()+"\"");
}
}
注意:\t 水平制表位 \n 换行 \"双引号 \'单引号
c.字符串的比较
语法:
字符串1.equals(字符串2);
例如:
package s2java.sg.chap9;
import java.util.*;
public class HelloACCP1{
public static void main(String[]args){
System.out.println("---欢迎进入学员注册系统---");
Scanner input=new Scanner(System.in);
System.out.println("请输入您的密码:");
String pwd1=input.nextInt();
System.out.println("请确认您的密码:");
String pwd2=input.nextInt();
if(pwd1.equals(pwd2)){
System.out.println("恭喜你!注册成功!");
}else{
System.out.println("密码不一致,请重新注册!");
}
}
}
d.字符串的连接
例如:
package s2java.sg.chap9;
import java.util.*;
public class HelloACCP1{
public static void main(String[]args){
int sqlScore=80;//SQL成绩
int javaScore=90;//Java成绩
double htmlScore=86.7;//HTML成绩
String scoreSheet="SQL:"+sqlScore+" Java:"+javaScore +" HTML:"+htmlScore;//成绩单
System.out.println("******黄超华成绩单*******");
System.out.println("scoreSheet");
}
}
注意:在使用"+"运算符连接字符串和int型(或double型)数据时,"+"将int(或double)型数据自动转换成String类型。
语法:字符串1.concat(字符串2);
例如:
String s=new String("你好,");
String name=new String("张三!");
String sentence=s.concat(name);
System.out.println(sentence);
经验:在声明字符串并制定字符串时,如果字符串太长,可以分作两行来写,这样比较容易阅读。
连接字符串的方法有两种:使用"+"运算符和使用String类的concat()方法
e.字符串常用的提取和查询方法 详细请看P214
(1)indexOf()方法在字符串内搜索某个制定的字符或字符串。 例如:String s="青春无悔"; int index=s.indexOf('春'); 执行后,返回字符"春"的位置是1;
(2)lastIndexOf()方法搜索最后一个出现的字符(或字符串)的位置。 例如:String s="青春无悔无悔青春"; int index=s.lastIndexOf("青春"); 执行后,返回字符串"青春"的首字符位置,index的值为:6;
(3)substring(int index)方法是截取的开始的位置,返回的是截取的字符串。 例如:String s="青春无悔"; String result=s.substring(1);
(4)substring(int beginindex,int endindex)方法,从开始位置到结束位置。是前闭后开的状态! 例如: String s="青春无悔无悔青春"; String result=s.substring(2,6);
(5)trim()可以忽略字符串前后的空格
9-2:带参数的方法
a.如何使用带参数的方法
第一步:定义带参数的方法 第二部:调用带参数的方法
语法:
public 返回值类型 方法名(参数列表){
//方法体
}
参数的基本形式:数据类型 参数1,数据类型 参数2,...数据类型 参数n
public void A(int a ,int b){
//方法体
}
语法:
对象名.A(变量1,变量2);
例如:定义榨汁机类
public class Zhazhi{//定义带参数的zhazhi方法
public String zhazhi(String fruit){
String juice=fruit+"汁";
return juice;
}
}
使用榨汁机类:
public class HelloACCP6{
public static void main(String[]args){
Zhazhi myZhazhi=new Zhazhi();
String myFruit="苹果";
String myJuice=myZhazhi.zhazhi(myFruit);
System.out.println(myJuice);
}
}
b.带参数的方法应用 详细请看P218
9-3:StringBuffer
使用StringBuffer需要两步:声明StringBuffer对象并初始化和使用StringBuffer对象
例如:
StringBuffer sb1=new StringBuffer();//声明一个空的StringBuffer对象
StringBuffer sb2=new StringBuffer("青春无悔");//声明一个字符串"青春无悔"
String s1=sb2.toString();//转换为String类
String s2=sb2.append("青春无悔");//在原有的字符串后面进行追加 详细请看P221
9-4:Java语言的特点总结
(1)简单易学
(2)丰富且强大的类库
java.util java.lang java.io java.sql
(3)提供强大的网络支持
Java逻辑的更多相关文章
- JAVA逻辑字符串判断真假
package com.chinahrt.zyn.iteye; import javax.script.Bindings; import javax.script.Compilable; import ...
- Java电器商场小系统--简单的java逻辑
//商场类public class Goods { int no; //编号 String name; //商品名称 double price; //商品价格 int number; //商品数量 / ...
- 复习java逻辑---实现猜数字游戏
package shopping; import java.util.*; public class SendGiftMenu { public static void main(String[] a ...
- Android开发,java开发程序员常见面试题,求100-200之间的质数,java逻辑代码
public class aa{ public static void main (String args []){ //author:qq986945193 for (int i = 100;i&l ...
- 简单的Java逻辑小代码(打擂台,冒泡排序,水仙花数,回文数,递归)
1.打擂台 简单的小代码,打擂台.纪念下过去,祝福下新人. public static void main(String[] args){ int[] ld = {1,4,2,10,8,9,5}; i ...
- Android开发,java开发程序员常见基础面试题,更换两个变量的值,java逻辑代码
public class abswitch{ public static void main (String args []){ //author:qq986945193 int a=1; int b ...
- Java自学-操作符 逻辑操作符
Java的逻辑运算符 逻辑运算符 示例 1 : 长路与 和 短路与 无论长路与还是短路与 两边的运算单元都是布尔值 都为真时,才为真 任意为假,就为假 区别: 长路与 两侧,都会被运算 短路与 只要第 ...
- java web学习总结(三十) -------------------JSTL表达式
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
随机推荐
- Spring boot2.0 设置文件上传大小限制
今天把Spring boot版本升级到了2.0后,发现原来的文件上传大小限制设置不起作用了,原来的application.properties设置如下: spring.http.multipart.m ...
- win10,python3.6,django2.0.3,项目基本命令
1.django-admin startproject project_name(创建项目) 2.python manage.py startapp appname(创建应用) 3.python ma ...
- Django与缓存
我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> ...
- VS2010_DLL_共享数据段
1.问题:写了一个DLL,自己一直测试不成功(程序A设置了 数值之后,程序B 始终读不到 读出来的都是初始化时的数值...) 具体过程: (1).DLL当初没想要用 共享数据段,测试使用 一直都是OK ...
- 分布式系统的唯一id生成算法你了解吗?
在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...
- HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记
HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK 论文地址:https:/ ...
- ArcFace2 #C 视频人脸比对教程
请允许我大言不惭,叫做教程,特希望各位能指正.哦,我用的是vs2017.使用虹软技术 一.准备工作1.创建项目 2.添加EMGU.CV包 3.复制虹软的dll到项目 ,并设属性“复制到输出目录”为“如 ...
- 学习笔记58—3D杯子设计
软件下载:http://www.i3done.com/ 界面如下: 3D杯子设计步骤(参考:http://www.i3done.com/news/video/402.html): 生成杯体 1.点击基 ...
- Python2 - MySQL适配器 MySQLdb
本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...
- lua --- Module
首先需要明白,一般情况下,我们的定义的lua模块的文件与模块名(其实就是table的名字)是一致的,当然,不一致代码也是可以编译的(亲测),之所以这样,本人认为是为了实际项目中管理的方便.以下是定义模 ...