javaSE基础编程——String的转换功能



package stringTest;
/**
 * 将字符串转换为字符
 * @author Administrator
 *
 */
public class StringTest {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String s = "HelloWord";
  for(int i=0;i<s.length();i++){
   System.out.print(" "+s.charAt(i));
  }
 }

}



package stringTest;
/**
 * 统计给定字符串中的大小写字母和数字的个数
 * @author Administrator
 *
 */
public class JudgeDemo {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  //定义三个统计变量
  int smallCount = 0;
  int bigCount = 0;
  int numberCount = 0;
  String s = "HelloWorld1234";
  for(int x=0;x<s.length();x++){
   char c = s.charAt(x);
   System.out.print(c+"");
   if(c>='a'&&c<='z'){
    smallCount++;
   }else if(c>='A'&&c<='Z'){
    bigCount++;
   }else if(c>='0'&&c<='9'){
    numberCount++;
   }
  }
  System.out.println("\n"+"大写字母"+bigCount+"个"+"\n"+"小写字母"
  +smallCount+"个"+"\n"+"数字"+numberCount+"个");
 }

}




### JavaSE 基础教程 #### 集合框架概述 Java中的集合框架提供了存储多个数据项的数据结构。主要分为`List`, `Set`, 和`Map`三种类型。每种类型的实现类都具有不同的特性和性能特点,适用于不同场景下的需求[^1]。 对于`List`接口而言,它是一个有序的集合,可以包含重复元素。常见的实现有`ArrayList`和`LinkedList`。前者基于数组实现,在随机访问方面表现优异;后者则更适合频繁插入删除操作的情况。 而`Set`不允许存在相同的元素,其内部不会保存重复条目。常用的实现形式包括`HashSet`(提供快速查找功能)以及`TreeSet`(能保持自然顺序排列)。 最后是关联键值对映射关系的`Map`容器,像`HashMap`用于高效存取无序键值组合,还有维持按键升序展示的`TreeMap`等选项可供选择。 ```java // List 使用示例 List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); // Set 使用示例 Set<Integer> set = new HashSet<>(); set.add(1); set.add(2); // Map 使用示例 Map<String, Integer> map = new HashMap<>(); map.put("one", 1); ``` #### 接口与多态性应用 定义一个通用行为的标准——即接口,使得各个具体子类可以通过各自的方式去完成相同的行为描述。当声明了一个接口类型的引用指向某个实现了该接口的对象实例之后,就可以调用由这个对象所提供的特定版本的方法了[^3]。 ```java interface Flyable { void fly(); } class Bird implements Flyable { public void fly() { System.out.println("Bird is flying"); } } Flyable f = new Bird(); // 创建接口变量并赋值给其实现类的新建对象 f.fly(); // 调用了实际对象里的fly方法 ``` #### 多线程编程入门 创建新线程有两种途径:继承自Thread类重写run函数或是实现Runnable接口再传入Thread构造器中。为了使不同线程间安全有效地交换信息,则需遵循一定的协议,比如利用主内存同步机制确保可见性的更新过程[^2]。 另外一种重要的通信手段便是采用阻塞队列(`BlockingQueue`)作为中介者来协调生产者消费者模式下工作流程之间的协作活动。 ```java public class MyThread extends Thread { @Override public void run(){ // 执行任务逻辑... } } new MyThread().start(); // 或者使用 Runnable 方式 Runnable task = () -> {/*执行的任务*/}; new Thread(task).start(); ``` #### 泛型概念解析 泛型允许开发者编写更加灵活且可复用性强的组件代码。通过参数化类型让容器类能够容纳任意种类别的成员而不必担心类型转换错误的发生。这不仅提高了安全性同时也简化了许多复杂的编码环节。 ```java <T> T getFirst(List<T> list){ return list.get(0); } String firstStr = getFirst(Arrays.asList("hello","world")); Integer firstInt = getFirst(Arrays.asList(1,2)); ``` #### 反射技术介绍 反射特性赋予应用程序自我认知的能力,可以在运行时刻加载未知类文件、探查它们所拥有的字段/方法签名甚至动态地改变私有域的内容或触发静态初始化块之外的功能调用链路。 ```java Class<?> clazz = Class.forName("com.example.MyClass"); Constructor<?> constructor = clazz.getDeclaredConstructor(String.class); Object instance = constructor.newInstance("argumentValue"); Method method = clazz.getMethod("methodName", int.class); method.invoke(instance, 42); ``` #### 输入输出流处理 I/O 流用来表示字节序列传输路径上的源端点和目的端点间的连接通道。按照流向区分可分为输入流(Input Stream)负责接收外部资源送来的二进制位串;相反方向则是输出流(Output Stream),向目标位置写出相应内容。依据载体性质又细分成字符流(Character Stream)和字节流(Byte Stream)两大类别。 ```java try (BufferedReader reader = Files.newBufferedReader(Path.of("input.txt"))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch(IOException e){ /* handle exception */ } try(PrintWriter writer = new PrintWriter(new File("output.txt"))){ writer.print("Hello world!"); }catch(Exception ex){/*handle exceptions*/} ``` #### 网络编程基础 在网络环境中建立客户端和服务端交互模型时,通常会涉及到Socket套接字的概念。服务器监听指定地址端口号等待客户发起请求连接后形成双向通讯管道进行数据包收发作业。与此同时,还应该考虑到如何妥善管理并发接入情况以保障服务稳定性。 ```java ServerSocket serverSock = new ServerSocket(portNumber); while(true){ Socket clientConnection = serverSock.accept(); // Handle the connection in a separate thread or process. } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值